[arch-commits] Commit in xfdesktop/trunk (PKGBUILD fix-desktop-drag-and-drop.patch)

Tobias Powalowski tpowa at archlinux.org
Sat Aug 20 06:29:49 UTC 2011


    Date: Saturday, August 20, 2011 @ 02:29:49
  Author: tpowa
Revision: 135898

upgpkg: xfdesktop 4.8.2-3

	fix desktop drag and drop

Added:
  xfdesktop/trunk/fix-desktop-drag-and-drop.patch
Modified:
  xfdesktop/trunk/PKGBUILD

---------------------------------+
 PKGBUILD                        |    9 ++++--
 fix-desktop-drag-and-drop.patch |   57 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-08-20 06:24:46 UTC (rev 135897)
+++ PKGBUILD	2011-08-20 06:29:49 UTC (rev 135898)
@@ -4,7 +4,7 @@
 
 pkgname=xfdesktop
 pkgver=4.8.2
-pkgrel=2
+pkgrel=3
 pkgdesc="A desktop manager for Xfce"
 arch=('i686' 'x86_64')
 license=('GPL2')
@@ -17,11 +17,14 @@
 replaces=('xfce4-menueditor')
 options=('!libtool')
 install=xfdesktop.install
-source=(http://archive.xfce.org/src/xfce/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('ed25d59f478afda552d121e96657d16f')
+source=(http://archive.xfce.org/src/xfce/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2
+        fix-desktop-drag-and-drop.patch)
+md5sums=('ed25d59f478afda552d121e96657d16f'
+         '86d464bcd8ffae9f048454f49603658a')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i ../fix-desktop-drag-and-drop.patch
   ./configure --prefix=/usr \
 	--sysconfdir=/etc \
 	--libexecdir=/usr/lib \

Added: fix-desktop-drag-and-drop.patch
===================================================================
--- fix-desktop-drag-and-drop.patch	                        (rev 0)
+++ fix-desktop-drag-and-drop.patch	2011-08-20 06:29:49 UTC (rev 135898)
@@ -0,0 +1,57 @@
+diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c
+index 2711646..d3ca2eb 100644
+--- a/src/xfdesktop-file-icon-manager.c
++++ b/src/xfdesktop-file-icon-manager.c
+@@ -2794,7 +2794,7 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager
+     GFile *tfile = NULL;
+     gboolean copy_only = TRUE, drop_ok = FALSE;
+     GList *file_list;
+-    
++
+     if(info == TARGET_XDND_DIRECT_SAVE0) {
+         /* we don't suppose XdndDirectSave stage 3, result F, i.e., the app
+          * has to save the data itself given the filename we provided in
+@@ -2816,7 +2816,7 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager
+         /* data is "URL\nTITLE" */
+         GFile *source_file = NULL;
+         gchar *exo_desktop_item_edit = g_find_program_in_path("exo-desktop-item-edit");
+-        
++
+         if(drop_icon) {
+             GFileInfo *finfo = xfdesktop_file_icon_peek_file_info(XFDESKTOP_FILE_ICON(drop_icon));
+             if(g_file_info_get_file_type(finfo) == G_FILE_TYPE_DIRECTORY)
+@@ -2911,8 +2911,15 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager
+                     gchar *dest_basename = g_file_get_basename(l->data);
+ 
+                     if(dest_basename && *dest_basename != '\0') {
+-                        GFile *dest_file = g_file_get_child(base_dest_file, dest_basename);
+-                        dest_file_list = g_list_prepend(dest_file_list, dest_file);
++                        /* If we copy a file, we need to use the new absolute filename
++                         * as the destination. If we move, we need to use the destination
++                         * directory. */
++                        if(copy_only) {
++                            GFile *dest_file = g_file_get_child(base_dest_file, dest_basename);
++                            dest_file_list = g_list_prepend(dest_file_list, dest_file);
++                        } else {
++                            dest_file_list = g_list_prepend(dest_file_list, base_dest_file);
++                        }
+                     }
+ 
+                     g_free(dest_basename);
+@@ -2923,10 +2930,10 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager
+                 if(dest_file_list) {
+                     dest_file_list = g_list_reverse(dest_file_list);
+ 
+-                    drop_ok =xfdesktop_file_utils_transfer_files(context->action, 
+-                                                                 file_list, 
+-                                                                 dest_file_list,
+-                                                                 fmanager->priv->gscreen);
++                    drop_ok = xfdesktop_file_utils_transfer_files(context->action, 
++                                                                  file_list, 
++                                                                  dest_file_list,
++                                                                  fmanager->priv->gscreen);
+                 }
+ 
+                 xfdesktop_file_utils_file_list_free(dest_file_list);
+
+




More information about the arch-commits mailing list