diff options
author | Victor Ostorga <vostorga@gentoo.org> | 2010-10-27 19:42:04 +0000 |
---|---|---|
committer | Victor Ostorga <vostorga@gentoo.org> | 2010-10-27 19:42:04 +0000 |
commit | e908b1fbf922de0186f7a513f4aa70ecc4e9549a (patch) | |
tree | 06b4698bf4100e7922dd40370692b9ad4806129c /lxde-base/lxlauncher | |
parent | x86 stable per bug 341787 (diff) | |
download | historical-e908b1fbf922de0186f7a513f4aa70ecc4e9549a.tar.gz historical-e908b1fbf922de0186f7a513f4aa70ecc4e9549a.tar.bz2 historical-e908b1fbf922de0186f7a513f4aa70ecc4e9549a.zip |
Fixing segmentation fault, bug #341561
Package-Manager: portage-2.1.8.3/cvs/Linux i686
Diffstat (limited to 'lxde-base/lxlauncher')
-rw-r--r-- | lxde-base/lxlauncher/ChangeLog | 8 | ||||
-rw-r--r-- | lxde-base/lxlauncher/Manifest | 4 | ||||
-rw-r--r-- | lxde-base/lxlauncher/files/lxlauncher-0.2.1-fix-segfault.patch | 124 | ||||
-rw-r--r-- | lxde-base/lxlauncher/lxlauncher-0.2.1-r1.ebuild | 44 |
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 +} |