changeset 2565:52fa0e775bb5

Fix #499: Unable to move zoomed image https://github.com/BestImageViewer/geeqie/issues/499
author Colin Clark <colin.clark@cclark.uk>
date Mon, 24 Jul 2017 11:08:35 +0100
parents ecd984e6ba99
children 034d8772d6d8
files src/image.c src/layout_image.c
diffstat 2 files changed, 16 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/image.c	Sun Jul 23 12:05:26 2017 +0100
+++ b/src/image.c	Mon Jul 24 11:08:35 2017 +0100
@@ -67,6 +67,19 @@
 		}
 }
 
+static void image_press_cb(PixbufRenderer *pr, GdkEventButton *event, gpointer data)
+{
+	ImageWindow *imd = data;
+	LayoutWindow *lw;
+
+	lw = layout_find_by_image(imd);
+	if (event->button == MOUSE_BUTTON_LEFT && event->type == GDK_2BUTTON_PRESS  && !options->image_lm_click_nav)
+		{
+		if (lw->full_screen)
+			layout_image_full_screen_stop(lw);
+		}
+}
+
 static void image_drag_cb(PixbufRenderer *pr, GdkEventMotion *event, gpointer data)
 {
 	ImageWindow *imd = data;
@@ -1941,8 +1954,10 @@
 
 	image_set_selectable(imd, 0);
 
+	g_signal_connect(G_OBJECT(imd->pr), "clicked",
+			 G_CALLBACK(image_click_cb), imd);
 	g_signal_connect(G_OBJECT(imd->pr), "button_press_event",
-			 G_CALLBACK(image_click_cb), imd);
+			 G_CALLBACK(image_press_cb), imd);
 	g_signal_connect(G_OBJECT(imd->pr), "scroll_notify",
 			 G_CALLBACK(image_scroll_notify_cb), imd);
 
--- a/src/layout_image.c	Sun Jul 23 12:05:26 2017 +0100
+++ b/src/layout_image.c	Mon Jul 24 11:08:35 2017 +0100
@@ -1686,11 +1686,6 @@
 	switch (event->button)
 		{
 		case MOUSE_BUTTON_LEFT:
-			if (event->type == GDK_2BUTTON_PRESS)
-				{
-				if (lw->full_screen)
-					layout_image_full_screen_stop(lw);
-				}
 			if (options->image_lm_click_nav && lw->split_mode == SPLIT_NONE)
 				layout_image_next(lw);
 			break;