summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lxde-base')
-rw-r--r--lxde-base/lxlauncher/ChangeLog8
-rw-r--r--lxde-base/lxlauncher/Manifest4
-rw-r--r--lxde-base/lxlauncher/files/lxlauncher-0.2.1-fix-segfault.patch124
-rw-r--r--lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild44
4 files changed, 178 insertions, 2 deletions
diff --git a/lxde-base/lxlauncher/ChangeLog b/lxde-base/lxlauncher/ChangeLog
index 54014c13363e..b2e810797124 100644
--- a/lxde-base/lxlauncher/ChangeLog
+++ b/lxde-base/lxlauncher/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for lxde-base/lxlauncher
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/lxde-base/lxlauncher/ChangeLog,v 1.8 2010/01/10 15:30:40 volkmar Exp $
+# $Header: /var/cvsroot/gentoo-x86/lxde-base/lxlauncher/ChangeLog,v 1.9 2010/10/27 19:42:03 vostorga Exp $
+
+*lxlauncher-0.2.1-r1 (27 Oct 2010)
+
+ 27 Oct 2010; VĂ­ctor Ostorga <vostorga@gentoo.org>
+ +lxlauncher-0.2.1-r1.ebuild, +files/lxlauncher-0.2.1-fix-segfault.patch:
+ Fixing segmentation fault, bug #341561
10 Jan 2010; Mounir Lamouri <volkmar@gentoo.org> lxlauncher-0.2.1.ebuild:
Stable for ppc, bug 292698
diff --git a/lxde-base/lxlauncher/Manifest b/lxde-base/lxlauncher/Manifest
index 01c3c1016fa2..e832f0db63a6 100644
--- a/lxde-base/lxlauncher/Manifest
+++ b/lxde-base/lxlauncher/Manifest
@@ -1,5 +1,7 @@
+AUX lxlauncher-0.2.1-fix-segfault.patch 4218 RMD160 45055bc6e31195500a933d46c2905fa2fe35e37f SHA1 da508dd96efb34e825235d07b85a216fe0bc18eb SHA256 7676673cb2c7b4e16f20f019c2012dff2decc0eef482da728f3c89619a9351bf
AUX lxlauncher-0.2.1-intltool.patch 436 RMD160 54e457139ec3b80a08ab04697fa37426404848e3 SHA1 bec64374d5efe8cf3d4d9279050b204ef4ec4a5a SHA256 d2854606e357337dfcb3347ab4a7fedede41366a8a8a21b6ce79f195832a5c1f
DIST lxlauncher-0.2.1.tar.gz 201318 RMD160 5ad5737787008b48f5e6ade6e66571f113b6bb7e SHA1 d9352f1a2eaf7be59824ab39d208f87af4eb81e3 SHA256 032aaffa17e0a558e01427cfacd4e46157145acde79eb83092c1967c6641f8c1
+EBUILD lxlauncher-0.2.1-r1.ebuild 1056 RMD160 09272b5d462ad83985fc636e8c04e34267eab918 SHA1 97c6a01102a3c6ac1a0ffa9e04892d20608adb4e SHA256 7e977cc0a3d102fc421249dc26286848d60cc3da326ea54089de74c831414400
EBUILD lxlauncher-0.2.1.ebuild 1003 RMD160 654876e695fe1d5aa11b9b907827f0762954e2b5 SHA1 6b651c7a8fe861f39449db1c3d7ec09300d6fe71 SHA256 7a2ce889b7dae6dcbb0aecdd1b75cd7a63b90b0eaef2e0bfa279f077a3254c31
-MISC ChangeLog 1213 RMD160 8a993db210bf8c0af393af30496a4e678c4ba997 SHA1 5c7906e5a745c22cbcb01aaafcaab7af7631084a SHA256 760d431905dd4035df6bf478fbe68046f9a1ab0bb24812c6d5e381eb1e65885d
+MISC ChangeLog 1420 RMD160 633d7841a91d44efa0ce910dea24df501cdb17d3 SHA1 e988fa1f627a8eba62288332e0645ccc8bdf27fe SHA256 15f1f1751b12f9e45d728616d309711d898d08e4992774264997d5af44433a26
MISC metadata.xml 159 RMD160 35036c133a5c9c7edccc3cdfed5789092f884048 SHA1 bdf1b7cc6ffbdd223b6f05aa072e857dfc981c4f SHA256 09574ccad15f69d5367ecbb1a491cd636fb88582f69987d2ec217109dfe8befb
diff --git a/lxde-base/lxlauncher/files/lxlauncher-0.2.1-fix-segfault.patch b/lxde-base/lxlauncher/files/lxlauncher-0.2.1-fix-segfault.patch
new file mode 100644
index 000000000000..473b516b8a60
--- /dev/null
+++ b/lxde-base/lxlauncher/files/lxlauncher-0.2.1-fix-segfault.patch
@@ -0,0 +1,124 @@
+--- src/lxlauncher.c 2009-07-07 15:48:19.000000000 +0300
++++ src/lxlauncher.c.new 2010-06-09 21:09:24.000000000 +0300
+@@ -311,6 +311,7 @@
+ {
+ // Dirty hacks used to force pseudo-transparent background
+ gtk_widget_queue_draw( data->table );
++ return TRUE;
+ }
+
+ // Dirty hacks used to reduce unnecessary redrew during scroll
+@@ -662,18 +663,38 @@
+ gchar *file;
+
+ file = g_build_filename(user_dir, name, NULL);
+- if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE) {
+- return file;
+- }
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ return file;
+ free(file);
+
+ for (dir = system_dirs; *dir; ++dir ) {
+- file = g_build_filename(*dir, name, NULL);
+- if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE) {
+- return file;
+- }
+- free(file);
++ file = g_build_filename(*dir, name, NULL);
++ if (g_file_test(file, G_FILE_TEST_EXISTS) == TRUE)
++ return file;
++ free(file);
++ }
++ return NULL;
++}
++
++static void on_menu_cache_reload(MenuCache* mc, gpointer user_data)
++{
++ GMainLoop* mainloop = (GMainLoop*)user_data;
++ g_main_loop_quit(mainloop);
++}
++
++MenuCache* _menu_cache_lookup_sync( const char* menu_name )
++{
++ MenuCache* mc = menu_cache_lookup(menu_name);
++ /* ensure that the menu cache is loaded */
++ if(! menu_cache_get_root_dir(mc)) /* if it's not yet loaded */
++ {
++ GMainLoop* mainloop = g_main_loop_new(NULL, FALSE);
++ gpointer notify_id = menu_cache_add_reload_notify(mc, on_menu_cache_reload, mainloop);
++ g_main_loop_run(mainloop);
++ g_main_loop_unref(mainloop);
++ menu_cache_remove_reload_notify(mc, notify_id);
+ }
++ return mc;
+ }
+
+ int main(int argc, char** argv)
+@@ -695,13 +716,14 @@
+ GError *error = NULL;
+ gchar *config_file = get_xdg_config_file(CONFIG_FILE);
+ if (config_file &&
+- g_key_file_load_from_file(key_file,
+- config_file,
+- G_KEY_FILE_NONE,
+- &error)) {
+- printf("Loaded %s\n", config_file);
+- } else {
+- perror("Error loading " CONFIG_FILE);
++ g_key_file_load_from_file(key_file,
++ config_file,
++ G_KEY_FILE_NONE,
++ &error)) {
++ printf("Loaded %s\n", config_file);
++ }
++ else {
++ perror("Error loading " CONFIG_FILE);
+ }
+ if (config_file)
+ free(config_file);
+@@ -711,21 +733,23 @@
+ // Add application specific properties
+ gtk_settings_install_property(g_param_spec_boolean("lxlauncher-enable-key",
+ _("Enable key navigation"),
+- _("Allow users to use up/down/left/right/tab/enter keys to operate the lxlaucher"),
++ _("Allow users to use up/down/left/right/tab/enter keys to operate the lxlauncher"),
+ FALSE,GTK_ARG_READWRITE));
+ // set up themes for notebook
+ gchar* gtkrc_file = get_xdg_config_file("lxlauncher/gtkrc");
+ gtk_rc_parse(gtkrc_file);
+ if (gtkrc_file) {
+- free(gtkrc_file);
++ free(gtkrc_file);
+ }
+
+ button_size = g_key_file_get_integer(key_file, "Main", "BUTTON_SIZE", NULL);
+ img_size = g_key_file_get_integer(key_file, "Main", "IMG_SIZE", NULL);
+
+ // to prevent from going without configure file
+- if(!button_size) button_size = BUTTON_SIZE_FALLBACK;
+- if(!img_size) img_size = IMG_SIZE_FALLBACK;
++ if(!button_size)
++ button_size = BUTTON_SIZE_FALLBACK;
++ if(!img_size)
++ img_size = IMG_SIZE_FALLBACK;
+
+ icon_size = gtk_icon_size_register( "ALIcon", img_size, img_size );
+
+@@ -756,9 +780,14 @@
+ gtk_container_add( (GtkContainer*)main_window, notebook );
+
+ g_setenv("XDG_MENU_PREFIX", "lxlauncher-", TRUE);
+- menu_tree = menu_cache_lookup( "applications.menu" );
++ menu_tree = _menu_cache_lookup_sync( "applications.menu" );
++ if(!menu_tree)
++ {
++ g_print("Unable to load application menu\n");
++ return 1;
++ }
++ root_dir = menu_cache_item_ref(menu_cache_get_root_dir( menu_tree ));
+ reload_notify_id = menu_cache_add_reload_notify( menu_tree, on_menu_tree_changed, NULL );
+- root_dir = menu_cache_ref(menu_cache_get_root_dir( menu_tree ));
+
+ create_notebook_pages();
+
diff --git a/lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild b/lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..84f971dce6fc
--- /dev/null
+++ b/lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild,v 1.1 2010/10/27 19:42:03 vostorga Exp $
+
+EAPI="1"
+
+inherit autotools eutils
+
+DESCRIPTION="An open source clone of the Asus launcher for EeePC"
+HOMEPAGE="http://lxde.sf.net/"
+SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="dev-libs/glib:2
+ x11-libs/gtk+:2
+ gnome-base/gnome-menus
+ x11-libs/startup-notification"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ dev-util/intltool
+ sys-devel/gettext
+ lxde-base/menu-cache
+ !lxde-base/lxlauncher-gmenu"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-intltool.patch
+ epatch "${FILESDIR}"/${P}-fix-segfault.patch
+
+ # Rerun autotools
+ einfo "Regenerating autotools files..."
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS ChangeLog README
+}