Fix #517: Fix checkbox falling out of sync
authorilexiris <>
Thu, 21 Sep 2017 10:30:39 +0000 (11:30 +0100)
committerColin Clark <colin.clark@cclark.uk>
Thu, 21 Sep 2017 10:30:39 +0000 (11:30 +0100)
https://github.com/BestImageViewer/geeqie/pull/517

src/layout.c
src/layout_util.c
src/layout_util.h

index 7d1fbf7..cb4fb7c 100644 (file)
@@ -1140,7 +1140,7 @@ void layout_marks_set(LayoutWindow *lw, gboolean enable)
 
        lw->options.show_marks = enable;
 
-//     layout_util_sync_marks(lw);
+       layout_util_sync_marks(lw);
        layout_list_sync_marks(lw);
 }
 
index 8665d7b..72e1d6c 100644 (file)
@@ -2725,6 +2725,16 @@ void layout_util_sync_color(LayoutWindow *lw)
        gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_image_get_desaturate(lw));
 }
 
+void layout_util_sync_marks(LayoutWindow *lw)
+{
+       GtkAction *action;
+
+       if (!lw->action_group) return;
+
+       action = gtk_action_group_get_action(lw->action_group, "ShowMarks");
+       gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_marks);
+}
+
 static void layout_util_sync_views(LayoutWindow *lw)
 {
        GtkAction *action;
@@ -2765,9 +2775,6 @@ static void layout_util_sync_views(LayoutWindow *lw)
        action = gtk_action_group_get_action(lw->action_group, "ShowInfoPixel");
        gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_info_pixel);
 
-       action = gtk_action_group_get_action(lw->action_group, "ShowMarks");
-       gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.show_marks);
-
        action = gtk_action_group_get_action(lw->action_group, "SlideShow");
        gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), layout_image_slideshow_active(lw));
 
@@ -2808,6 +2815,7 @@ static void layout_util_sync_views(LayoutWindow *lw)
        action = gtk_action_group_get_action(lw->action_group, "StereoAuto");
        gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), layout_image_stereo_pixbuf_get(lw));
 
+       layout_util_sync_marks(lw);
        layout_util_sync_color(lw);
 }
 
index c4bc5a9..acd5ea0 100644 (file)
@@ -28,6 +28,7 @@
 gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
 
 void layout_util_sync_thumb(LayoutWindow *lw);
+void layout_util_sync_marks(LayoutWindow *lw);
 void layout_util_sync_color(LayoutWindow *lw);
 void layout_util_sync(LayoutWindow *lw);