[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#860966: jessie-pu: package eom/1.8.0+dfsg1-4+deb8u1



        - Add the dependency libgl1-mesa-glx

This is wrong...

You can forget the dependency, my last update proposal don't have the dependency (attached here again).

        - Fix new windows don't get focus.

I open eom with previous instances and eom opens minimized, the patch is the fix.

        - Don't change file permissions when saving the modified image

The bug: open an image file with eom with permissions 0666, rotate -> close -> and save, and eom saves with permissions 0600, the patch solves it and eom saves with 0666

Regards,
Pablo
diff -Nru eom-1.8.0+dfsg1/debian/changelog eom-1.8.0+dfsg1/debian/changelog
--- eom-1.8.0+dfsg1/debian/changelog	2014-07-01 19:40:50.000000000 +0200
+++ eom-1.8.0+dfsg1/debian/changelog	2017-04-27 09:57:40.000000000 +0200
@@ -1,3 +1,13 @@
+eom (1.8.0+dfsg1-4+deb8u1) jessie-proposed-updates; urgency=medium
+
+  * debian/patches:
+    + Add 0001_fix-new-windows-dont-get-focus.patch. Fix new windows don't
+      get focus. (Closes: #813323).
+    + Add 0002_fix-permissions-when-saving-the-modified-image.patch. don't
+      change file permissions when saving the modified image (Closes: #769792).
+
+ -- Pablo Barciela <scow@riseup.net>  Thu, 27 Apr 2017 09:57:40 +0200
+
 eom (1.8.0+dfsg1-4) unstable; urgency=medium
 
   * Add librsvg features to Eye of MATE. (Closes: #752282).
diff -Nru eom-1.8.0+dfsg1/debian/patches/0001_fix-new-windows-dont-get-focus.patch eom-1.8.0+dfsg1/debian/patches/0001_fix-new-windows-dont-get-focus.patch
--- eom-1.8.0+dfsg1/debian/patches/0001_fix-new-windows-dont-get-focus.patch	1970-01-01 01:00:00.000000000 +0100
+++ eom-1.8.0+dfsg1/debian/patches/0001_fix-new-windows-dont-get-focus.patch	2017-04-27 09:57:40.000000000 +0200
@@ -0,0 +1,32 @@
+Description: Fix new windows don't get focus
+Author: vfscanf
+Upstream commit: https://github.com/mate-desktop/eom/commit/1b65a062fc01e15c4a461463a055b90d8cb3235e
+--- a/src/eom-application.c
++++ b/src/eom-application.c
+@@ -279,8 +279,24 @@ eom_application_get_file_window (EomApplication *application, GFile *file)
+ static void
+ eom_application_show_window (EomWindow *window, gpointer user_data)
+ {
+-	gtk_window_present_with_time (GTK_WINDOW (window),
+-				      GPOINTER_TO_UINT (user_data));
++	guint32 timestamp = GPOINTER_TO_UINT (user_data);
++	
++	/* set the proper interaction time on the window.
++	 * Fall back to roundtripping to the X server when we
++	 * don't have the timestamp, e.g. when launched from
++	 * terminal. We also need to make sure that the window
++	 * has been realized otherwise it will not work. lame.
++	 */
++	if (!gtk_widget_get_realized (GTK_WIDGET (window)))
++		gtk_widget_realize (GTK_WIDGET (window));
++	
++	if (timestamp <= 0)
++		timestamp = gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window)));
++	
++	gdk_x11_window_set_user_time (gtk_widget_get_window (GTK_WIDGET (window)),
++				                  timestamp);
++		      
++	gtk_window_present (GTK_WINDOW (window));
+ }
+ 
+ /**
diff -Nru eom-1.8.0+dfsg1/debian/patches/0002_fix-permissions-when-saving-the-modified-image.patch eom-1.8.0+dfsg1/debian/patches/0002_fix-permissions-when-saving-the-modified-image.patch
--- eom-1.8.0+dfsg1/debian/patches/0002_fix-permissions-when-saving-the-modified-image.patch	1970-01-01 01:00:00.000000000 +0100
+++ eom-1.8.0+dfsg1/debian/patches/0002_fix-permissions-when-saving-the-modified-image.patch	2017-04-27 09:57:40.000000000 +0200
@@ -0,0 +1,137 @@
+From 02d0316da724f63026bb804699dcbc6875083911 Mon Sep 17 00:00:00 2001
+From: Monsta <monsta@inbox.ru>
+Date: Thu, 4 Jun 2015 11:19:21 +0300
+Subject: [PATCH] don't change file permissions when saving the modified image
+
+adapted from:
+https://git.gnome.org/browse/eog/commit/?id=4626596c2c179bfe35c4212efced15c38d7337d6
+---
+ src/eom-image.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 108 insertions(+)
+
+diff --git a/src/eom-image.c b/src/eom-image.c
+index 989f365..3ea28d4 100644
+--- a/src/eom-image.c
++++ b/src/eom-image.c
+@@ -1431,6 +1431,110 @@ transfer_progress_cb (goffset cur_bytes,
+ 	}
+ }
+ 
++static void
++tmp_file_restore_unix_attributes (GFile *temp_file,
++				  GFile *target_file)
++{
++	GFileInfo *file_info;
++	guint      uid;
++	guint      gid;
++	guint      mode;
++	guint      mode_mask = 00600;
++
++	GError    *error = NULL;
++
++	g_return_if_fail (G_IS_FILE (temp_file));
++	g_return_if_fail (G_IS_FILE (target_file));
++
++	/* check if file exists */
++	if (!g_file_query_exists (target_file, NULL)) {
++		eom_debug_message (DEBUG_IMAGE_SAVE,
++				   "Target file doesn't exist. Setting default attributes.");
++		return;
++	}
++
++	/* retrieve UID, GID, and MODE of the original file info */
++	file_info = g_file_query_info (target_file,
++				       "unix::uid,unix::gid,unix::mode",
++				       G_FILE_QUERY_INFO_NONE,
++				       NULL,
++				       &error);
++
++	/* check that there aren't any error */
++	if (error != NULL) {
++		eom_debug_message (DEBUG_IMAGE_SAVE,
++				   "File information not available. Setting default attributes.");
++
++		/* free objects */
++		g_object_unref (file_info);
++		g_clear_error (&error);
++
++		return;
++	}
++
++	/* save UID, GID and MODE values */
++	uid = g_file_info_get_attribute_uint32 (file_info,
++						G_FILE_ATTRIBUTE_UNIX_UID);
++
++	gid = g_file_info_get_attribute_uint32 (file_info,
++						G_FILE_ATTRIBUTE_UNIX_GID);
++
++	mode = g_file_info_get_attribute_uint32 (file_info,
++						 G_FILE_ATTRIBUTE_UNIX_MODE);
++
++	/* apply default mode mask to file mode */
++	mode |= mode_mask;
++
++	/* restore original UID, GID, and MODE into the temporal file */
++	g_file_set_attribute_uint32 (temp_file,
++				     G_FILE_ATTRIBUTE_UNIX_UID,
++				     uid,
++				     G_FILE_QUERY_INFO_NONE,
++				     NULL,
++				     &error);
++
++	/* check that there aren't any error */
++	if (error != NULL) {
++		eom_debug_message (DEBUG_IMAGE_SAVE,
++				   "You do not have the permissions necessary to change the file UID.");
++
++		g_clear_error (&error);
++	}
++
++	g_file_set_attribute_uint32 (temp_file,
++				     G_FILE_ATTRIBUTE_UNIX_GID,
++				     gid,
++				     G_FILE_QUERY_INFO_NONE,
++				     NULL,
++				     &error);
++
++	/* check that there aren't any error */
++	if (error != NULL) {
++		eom_debug_message (DEBUG_IMAGE_SAVE,
++				   "You do not have the permissions necessary to change the file GID. Setting user default GID.");
++
++		g_clear_error (&error);
++	}
++
++	g_file_set_attribute_uint32 (temp_file,
++				     G_FILE_ATTRIBUTE_UNIX_MODE,
++				     mode,
++				     G_FILE_QUERY_INFO_NONE,
++				     NULL,
++				     &error);
++
++	/* check that there aren't any error */
++	if (error != NULL) {
++		eom_debug_message (DEBUG_IMAGE_SAVE,
++				   "You do not have the permissions necessary to change the file MODE.");
++
++		g_clear_error (&error);
++	}
++
++	/* free objects */
++	g_object_unref (file_info);
++}
++
+ static gboolean
+ tmp_file_move_to_uri (EomImage *image,
+ 		      GFile *tmpfile,
+@@ -1441,6 +1545,10 @@ tmp_file_move_to_uri (EomImage *image,
+ 	gboolean result;
+ 	GError *ioerror = NULL;
+ 
++	/* try to restore target file unix attributes */
++	tmp_file_restore_unix_attributes (tmpfile, file);
++
++	/* replace target file with temporal file */
+ 	result = g_file_move (tmpfile,
+ 			      file,
+ 			      (overwrite ? G_FILE_COPY_OVERWRITE : 0) |
diff -Nru eom-1.8.0+dfsg1/debian/patches/series eom-1.8.0+dfsg1/debian/patches/series
--- eom-1.8.0+dfsg1/debian/patches/series	2014-06-04 01:12:47.000000000 +0200
+++ eom-1.8.0+dfsg1/debian/patches/series	2017-04-27 09:57:40.000000000 +0200
@@ -1,2 +1,4 @@
+0001_fix-new-windows-dont-get-focus.patch
+0002_fix-permissions-when-saving-the-modified-image.patch
 1001_fix-hyphens-on-man-page.patch
 2001_omit-gfdl-licensed-help-files.patch

Reply to: