summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Psota <jasiupsota@gmail.com>2015-11-18 12:23:25 +0100
committerJan Psota <jasiupsota@gmail.com>2015-11-18 12:23:25 +0100
commit1caee4b09647ef670c16b4c4e8b4b0877b2b9c0b (patch)
treee65da2bb023bf5f52f31b8f89a39942c50d3f66a /x11-libs/libfm/files
downloadbleeding-edge-1caee4b09647ef670c16b4c4e8b4b0877b2b9c0b.tar.gz
bleeding-edge-1caee4b09647ef670c16b4c4e8b4b0877b2b9c0b.tar.bz2
bleeding-edge-1caee4b09647ef670c16b4c4e8b4b0877b2b9c0b.zip
pcmanfm using gtk3, newest sys-block/tgt, portage-utils with qtail, net-mail/libdbx with dbx2mbox
Diffstat (limited to 'x11-libs/libfm/files')
-rw-r--r--x11-libs/libfm/files/0002-Fix-gdk_window_get_device_position-device-argument.patch60
-rw-r--r--x11-libs/libfm/files/libfm-eacces.patch24
2 files changed, 84 insertions, 0 deletions
diff --git a/x11-libs/libfm/files/0002-Fix-gdk_window_get_device_position-device-argument.patch b/x11-libs/libfm/files/0002-Fix-gdk_window_get_device_position-device-argument.patch
new file mode 100644
index 0000000..831d3dc
--- /dev/null
+++ b/x11-libs/libfm/files/0002-Fix-gdk_window_get_device_position-device-argument.patch
@@ -0,0 +1,60 @@
+From 3355a737e0a4dcb87bda28868c30b70b1cd2eb34 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Sat, 23 May 2015 15:51:55 +0900
+Subject: [PATCH] Fix gdk_window_get_device_position device argument
+
+http://sourceforge.net/p/pcmanfm/bugs/959/
+---
+ src/gtk-compat.h | 2 ++
+ src/gtk/fm-dnd-auto-scroll.c | 5 +++--
+ src/gtk/fm-folder-view.c | 5 +++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/gtk-compat.h b/src/gtk-compat.h
+index 3f37fab..e460f74 100644
+--- a/src/gtk-compat.h
++++ b/src/gtk-compat.h
+@@ -33,6 +33,8 @@ G_BEGIN_DECLS
+ gdk_window_get_pointer(win,xptr,yptr,mptr)
+ #else
+ # define gdk_cursor_unref(obj) g_object_unref(obj)
++# define GDK_GET_DEVICE_FROM_WINDOW(window) \
++ gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (gdk_window_get_display(window)))
+ #endif
+
+ #if !GTK_CHECK_VERSION(2, 21, 0)
+diff --git a/src/gtk/fm-dnd-auto-scroll.c b/src/gtk/fm-dnd-auto-scroll.c
+index 72d866a..2861355 100644
+--- a/src/gtk/fm-dnd-auto-scroll.c
++++ b/src/gtk/fm-dnd-auto-scroll.c
+@@ -55,8 +55,9 @@ static gboolean on_auto_scroll(gpointer user_data)
+ if(g_source_is_destroyed(g_main_current_source()))
+ return FALSE;
+
+- gdk_window_get_device_position (gtk_widget_get_window(widget),
+- gtk_get_current_event_device(),
++ GdkWindow *window = gtk_widget_get_window(widget);
++ gdk_window_get_device_position (window,
++ GDK_GET_DEVICE_FROM_WINDOW(window),
+ &x, &y, NULL);
+ gtk_widget_get_allocation(widget, &allocation);
+
+diff --git a/src/gtk/fm-folder-view.c b/src/gtk/fm-folder-view.c
+index 21e7dff..8ee020e 100644
+--- a/src/gtk/fm-folder-view.c
++++ b/src/gtk/fm-folder-view.c
+@@ -1106,8 +1106,9 @@ static void popup_position_func(GtkMenu *menu, gint *x, gint *y,
+ gtk_widget_realize(GTK_WIDGET(menu));
+ /* get all the relative coordinates */
+ gtk_widget_get_allocation(widget, &a);
+- gdk_window_get_device_position(gtk_widget_get_window(widget),
+- gtk_get_current_event_device(), &x2, &y2, NULL);
++ GdkWindow *window = gtk_widget_get_window(widget);
++ gdk_window_get_device_position(window,
++ GDK_GET_DEVICE_FROM_WINDOW(window), &x2, &y2, NULL);
+ gtk_widget_get_allocation(GTK_WIDGET(menu), &ma);
+ parent_window = gtk_widget_get_parent_window(widget);
+ screen = gtk_widget_get_screen(widget);
+--
+2.4.1
+
diff --git a/x11-libs/libfm/files/libfm-eacces.patch b/x11-libs/libfm/files/libfm-eacces.patch
new file mode 100644
index 0000000..97824b7
--- /dev/null
+++ b/x11-libs/libfm/files/libfm-eacces.patch
@@ -0,0 +1,24 @@
+--- libfm-1.2.2.1/src/base/fm-file-launcher.c.orig 2014-08-24 00:18:48.000000000 +0200
++++ libfm-1.2.2.1/src/base/fm-file-launcher.c 2014-10-07 23:36:17.813228153 +0200
+@@ -195,7 +195,20 @@ gboolean fm_launch_files(GAppLaunchConte
+ continue;
+ targets = g_list_prepend(targets, fi);
+ }
+- folders = g_list_prepend(folders, fi);
++ if (fm_file_info_is_accessible(fi))
++ folders = g_list_prepend(folders, fi);
++ else
++ {
++ filename = fm_path_to_str(fm_file_info_get_path(fi));
++ g_set_error(&err, G_IO_ERROR, g_io_error_from_errno(EACCES),
++ _("Cannot open the folder '%s': %s"), filename,
++ g_strerror(EACCES));
++ g_free(filename);
++ g_message(err->message);
++ if (launcher->error)
++ launcher->error(ctx, err, NULL, user_data);
++ g_clear_error(&err);
++ }
+ }
+ else if (fm_file_info_is_desktop_entry(fi))
+ {