summaryrefslogtreecommitdiff
path: root/ldmicro/lutdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ldmicro/lutdialog.cpp')
-rw-r--r--ldmicro/lutdialog.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/ldmicro/lutdialog.cpp b/ldmicro/lutdialog.cpp
index 04e7684..1bfe8c5 100644
--- a/ldmicro/lutdialog.cpp
+++ b/ldmicro/lutdialog.cpp
@@ -86,6 +86,24 @@ void LutDialogMyNumberProc (GtkEditable *editable, gchar *NewText, gint length,
}
}
+gboolean LutDialogClosing(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+ DestroyWindow (LutDialog);
+ ProgramChanged();
+ gtk_widget_set_sensitive (MainWindow, TRUE);
+ g_source_remove (LUT_DIALOG_REFRESH_TIMER_ID_1);
+ LUT_DIALOG_REFRESH_TIMER_ID_1 = 0;
+}
+
+gboolean LutDialogDestroyed(GtkWidget *widget, GdkEvent *event, gpointer user_data)
+{
+ DestroyWindow (LutDialog);
+ ProgramChanged();
+ gtk_widget_set_sensitive (MainWindow, TRUE);
+ g_source_remove (LUT_DIALOG_REFRESH_TIMER_ID_1);
+ LUT_DIALOG_REFRESH_TIMER_ID_1 = 0;
+}
+
//-----------------------------------------------------------------------------
// Don't allow any characters other than 0-9 in the count.
//-----------------------------------------------------------------------------
@@ -571,6 +589,8 @@ void ShowLookUpTableDialog(ElemLeaf *l)
G_CALLBACK(LutDialogOk), (gpointer)l);
g_signal_connect (G_OBJECT (CancelButton), "clicked",
G_CALLBACK(LutCallCancel), NULL);
+ g_signal_connect (LutDialog, "destroy_event", G_CALLBACK (LutDialogClosing), NULL);
+ g_signal_connect (LutDialog, "delete_event", G_CALLBACK (LutDialogDestroyed), NULL);
if (LUT_DIALOG_REFRESH_TIMER_ID_1 == 0)
LUT_DIALOG_REFRESH_TIMER_ID_1 = g_timeout_add(100, (GSourceFunc)LutDialogRefresh, (gpointer)l);