summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2008-10-04 12:07:11 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2008-10-17 14:08:05 -0300
commit528236fa65537addcb3e62a08ae7cb6db216943e (patch)
treea0913e138de7e10ffc0f4bff9922561e0a8614df
parentb17bf340885ea29c9517d4aa7964fcd5dc7e313f (diff)
xfdesktop: fix a relocation and a memory leak
Due the relocation error, the menu was segfaulting and then being unusable. This patch has been taken from Gentoo repository.
-rw-r--r--packages/xfce/xfdesktop/relocation-and-memleak.patch49
-rw-r--r--packages/xfce/xfdesktop_4.4.2.bb3
2 files changed, 52 insertions, 0 deletions
diff --git a/packages/xfce/xfdesktop/relocation-and-memleak.patch b/packages/xfce/xfdesktop/relocation-and-memleak.patch
new file mode 100644
index 0000000000..df9011d8da
--- /dev/null
+++ b/packages/xfce/xfdesktop/relocation-and-memleak.patch
@@ -0,0 +1,49 @@
+Patch taken from Gentoo at http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay/xfce-base/xfdesktop/files/
+
+Included by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -ur xfdesktop-4.4.2.orig/modules/menu/desktop-menu-dentry.c xfdesktop-4.4.2/modules/menu/desktop-menu-dentry.c
+--- xfdesktop-4.4.2.orig/modules/menu/desktop-menu-dentry.c 2007-11-17 21:31:43.000000000 +0200
++++ xfdesktop-4.4.2/modules/menu/desktop-menu-dentry.c 2008-03-21 11:18:59.000000000 +0200
+@@ -173,7 +173,8 @@
+ if(cmpname && g_ascii_strcasecmp(name, cmpname) < 0)
+ break;
+ }
+-
++ g_list_free(items);
++
+ gtk_menu_shell_insert(menu_shell, mi, i);
+
+ return i;
+diff -ur xfdesktop-4.4.2.orig/modules/menu/desktop-menuspec.c xfdesktop-4.4.2/modules/menu/desktop-menuspec.c
+--- xfdesktop-4.4.2.orig/modules/menu/desktop-menuspec.c 2007-11-17 21:31:43.000000000 +0200
++++ xfdesktop-4.4.2/modules/menu/desktop-menuspec.c 2008-03-21 11:18:59.000000000 +0200
+@@ -203,7 +203,7 @@
+ else
+ foundcat = NULL;
+ if(!foundcat) {
+- g_ptr_array_free(revpath, FALSE);
++ g_ptr_array_free(revpath, TRUE);
+ revpath = NULL;
+ break;
+ }
+@@ -220,7 +220,7 @@
+ newpath[totlen] = 0;
+
+ g_ptr_array_add(mtfpi->paths, newpath);
+- g_ptr_array_free(revpath, FALSE);
++ g_ptr_array_free(revpath, TRUE);
+ }
+ }
+ }
+diff -ur xfdesktop-4.4.2.orig/modules/menu/desktop-menuspec.h xfdesktop-4.4.2/modules/menu/desktop-menuspec.h
+--- xfdesktop-4.4.2.orig/modules/menu/desktop-menuspec.h 2007-11-17 21:31:43.000000000 +0200
++++ xfdesktop-4.4.2/modules/menu/desktop-menuspec.h 2008-03-21 11:18:56.000000000 +0200
+@@ -82,6 +82,6 @@
+ * @param paths A GPtrArray obtained from either menuspec_get_path_simple() or
+ * menuspec_get_path_multilevel().
+ */
+-G_INLINE_FUNC void desktop_menuspec_path_free(GPtrArray *paths);
++void desktop_menuspec_path_free(GPtrArray *paths);
+
+ #endif /* ifdef __MENUSPEC_H__ */
diff --git a/packages/xfce/xfdesktop_4.4.2.bb b/packages/xfce/xfdesktop_4.4.2.bb
index 35c5ff5954..6c92b0fd1c 100644
--- a/packages/xfce/xfdesktop_4.4.2.bb
+++ b/packages/xfce/xfdesktop_4.4.2.bb
@@ -7,6 +7,9 @@ SECTION = "x11/base"
DEPENDS = "virtual/libx11 libxfcegui4 libxfce4mcs libxml2 xfce4-panel"
inherit xfce
+
+SRC_URI += " file://relocation-and-memleak.patch;patch=1 "
+
PACKAGES += "xfdesktop-backdrops ${PN}-mcs-plugins"
FILES_xfdesktop-backdrops="${datadir}/xfce4/backdrops/*"