]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Fix panadapter freeze when zoom/pan changes as result of active receiver changing
authorJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 24 Jul 2020 08:51:37 +0000 (09:51 +0100)
committerJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 24 Jul 2020 08:51:37 +0000 (09:51 +0100)
zoompan.c

index 77fbc6ea3f7c2c5051e1d73357ebfd6695c15618..400f48059a032997eadb505587a1cda72db4a35d 100644 (file)
--- a/zoompan.c
+++ b/zoompan.c
@@ -51,12 +51,16 @@ static GdkRGBA gray;
 int zoompan_active_receiver_changed(void *data) {
   if(display_zoompan) {
     g_mutex_lock(&pan_zoom_mutex);
+    g_signal_handler_block(G_OBJECT(zoom_scale),zoom_signal_id);
+    g_signal_handler_block(G_OBJECT(pan_scale),pan_signal_id);
     gtk_range_set_value(GTK_RANGE(zoom_scale),active_receiver->zoom);
     gtk_range_set_range(GTK_RANGE(pan_scale),0.0,(double)(active_receiver->zoom==1?active_receiver->pixels:active_receiver->pixels-active_receiver->width));
     gtk_range_set_value (GTK_RANGE(pan_scale),active_receiver->pan);
     if(active_receiver->zoom == 1) {
       gtk_widget_set_sensitive(pan_scale, FALSE);
     }
+    g_signal_handler_unblock(G_OBJECT(pan_scale),pan_signal_id);
+    g_signal_handler_unblock(G_OBJECT(zoom_scale),zoom_signal_id);
     g_mutex_unlock(&pan_zoom_mutex);
   }
   return FALSE;