]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
fixed seg fault when using touch screen buttons and close not setting pointer to...
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 12 Jul 2016 16:16:51 +0000 (16:16 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 12 Jul 2016 16:16:51 +0000 (16:16 +0000)
pihpsdr
release/pihpsdr.tar
release/pihpsdr/pihpsdr
toolbar.c

diff --git a/pihpsdr b/pihpsdr
index a251ed9d911af965aa1ecf3e502a43534f15fb2a..85d98ea0c7a2135d9e5802e080fc87331d86cb7a 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
index df79fb2c150aa8197bff3f4592c5d06234987dc6..afff376d46e1dc7d8620a5517c644ec672a78ba4 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index a251ed9d911af965aa1ecf3e502a43534f15fb2a..85d98ea0c7a2135d9e5802e080fc87331d86cb7a 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ
index 848c06a1fdc817d778385c1b77a0793ebe6f9f34..d377ae30c369b41f005ab42c1eeb03c59775dccc 100644 (file)
--- a/toolbar.c
+++ b/toolbar.c
@@ -101,6 +101,11 @@ void update_toolbar_labels() {
   }
 }
 
+static void close_cb(GtkWidget *widget, gpointer data) {
+  gtk_widget_destroy(last_dialog);
+  last_dialog=NULL;
+}
+
 static void band_select_cb(GtkWidget *widget, gpointer data) {
   GtkWidget *label;
   int b=(int)data;
@@ -130,7 +135,7 @@ static void band_select_cb(GtkWidget *widget, gpointer data) {
   setFrequency(entry->frequencyA);
 }
 
- void band_cb(GtkWidget *widget, gpointer data) {
+void band_cb(GtkWidget *widget, gpointer data) {
   int show=1;
   if(last_dialog!=NULL) {
     if(strcmp(gtk_window_get_title(GTK_WINDOW(last_dialog)),"Band")==0) {
@@ -172,13 +177,15 @@ static void band_select_cb(GtkWidget *widget, gpointer data) {
 
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
-    gtk_widget_show_all(dialog);
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
 
+    gtk_widget_show_all(dialog);
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
     int result=gtk_dialog_run(GTK_DIALOG(dialog));
   }
@@ -255,13 +262,15 @@ void bandstack_cb(GtkWidget *widget, gpointer data) {
 
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
     gtk_widget_show_all(dialog);
 
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
 
     int result=gtk_dialog_run(GTK_DIALOG(dialog));
@@ -325,13 +334,15 @@ void mode_cb(GtkWidget *widget, gpointer data) {
     gtk_container_add(GTK_CONTAINER(content),grid);
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
     gtk_widget_show_all(dialog);
 
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
     int result=gtk_dialog_run(GTK_DIALOG(dialog));
 
@@ -389,13 +400,15 @@ void filter_cb(GtkWidget *widget, gpointer data) {
     gtk_container_add(GTK_CONTAINER(content),grid);
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
     gtk_widget_show_all(dialog);
 
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
     int result=gtk_dialog_run(GTK_DIALOG(dialog));
 
@@ -543,13 +556,14 @@ void agc_cb(GtkWidget *widget, gpointer data) {
 
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 16"));
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
     gtk_widget_show_all(dialog);
-
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
     int result=gtk_dialog_run(GTK_DIALOG(dialog));
   }
@@ -628,13 +642,14 @@ void noise_cb(GtkWidget *widget, gpointer data) {
 
     GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
     //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 16"));
+    g_signal_connect(close_button,"clicked",G_CALLBACK(close_cb),(gpointer *)NULL);
     gtk_widget_show_all(dialog);
-
+/*
     g_signal_connect_swapped (dialog,
                              "response",
                              G_CALLBACK (gtk_widget_destroy),
                              dialog);
-
+*/
     last_dialog=dialog;
 
     int result=gtk_dialog_run(GTK_DIALOG(dialog));