changeset 2611:dcb69884b44c

Fix #517: Fix checkbox falling out of sync https://github.com/BestImageViewer/geeqie/pull/517
author ilexiris <>
date Thu, 21 Sep 2017 11:30:39 +0100
parents 34ca0d97d79d
children 3966a69e854d
files src/layout.c src/layout_util.c src/layout_util.h
diffstat 3 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/layout.c	Tue Sep 19 09:51:20 2017 +0100
+++ b/src/layout.c	Thu Sep 21 11:30:39 2017 +0100
@@ -1140,7 +1140,7 @@
 
 	lw->options.show_marks = enable;
 
-//	layout_util_sync_marks(lw);
+	layout_util_sync_marks(lw);
 	layout_list_sync_marks(lw);
 }
 
--- a/src/layout_util.c	Tue Sep 19 09:51:20 2017 +0100
+++ b/src/layout_util.c	Thu Sep 21 11:30:39 2017 +0100
@@ -2725,6 +2725,16 @@
 	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 @@
 	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 @@
 	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);
 }
 
--- a/src/layout_util.h	Tue Sep 19 09:51:20 2017 +0100
+++ b/src/layout_util.h	Thu Sep 21 11:30:39 2017 +0100
@@ -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);