Date: Tuesday, September 30, 2014 @ 02:18:48 Author: foutrelis Revision: 119850
upgpkg: lxpanel 0.7.1-2 Fix FS#42178: not recognized as dock by the window manager Added: lxpanel/trunk/lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch Modified: lxpanel/trunk/PKGBUILD Deleted: lxpanel/trunk/lxpanel-0.5.12-automake-1.14-support.patch --------------------------------------------------------------------------+ PKGBUILD | 16 lxpanel-0.5.12-automake-1.14-support.patch | 15 lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch | 169 ++++++++++ 3 files changed, 182 insertions(+), 18 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-09-29 22:30:22 UTC (rev 119849) +++ PKGBUILD 2014-09-30 00:18:48 UTC (rev 119850) @@ -5,7 +5,7 @@ pkgname=lxpanel pkgver=0.7.1 -pkgrel=1 +pkgrel=2 pkgdesc='Lightweight X11 desktop panel for LXDE' arch=('i686' 'x86_64') license=('GPL2') @@ -14,9 +14,19 @@ depends=('gtk2' 'alsa-lib' 'menu-cache' 'lxmenu-data' 'libwnck' 'libfm') makedepends=('intltool' 'docbook-xml' 'docbook-xsl' 'wireless_tools') optdepends=('wireless_tools: netstat plugin') -source=(http://downloads.sourceforge.net/sourceforge/lxde/lxpanel-$pkgver.tar.xz) -sha256sums=('45a9a511287ceb6177d0688f828b0974ebeae8655e05e2a52dddbe0bae30b026') +source=(http://downloads.sourceforge.net/sourceforge/lxde/lxpanel-$pkgver.tar.xz + lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch) +sha256sums=('45a9a511287ceb6177d0688f828b0974ebeae8655e05e2a52dddbe0bae30b026' + '01a46dc9dd949ef93f27bfd59514e5a88068f618cc0399176a99ecef4aab6aaf') +prepare() { + cd $pkgname-$pkgver + + # http://sourceforge.net/p/lxde/bugs/679/ + # https://bugs.archlinux.org/task/42178 + patch -Np1 -i ../lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch +} + build() { cd $pkgname-$pkgver CFLAGS+=' -lgmodule-2.0' ./configure \ Deleted: lxpanel-0.5.12-automake-1.14-support.patch =================================================================== --- lxpanel-0.5.12-automake-1.14-support.patch 2014-09-29 22:30:22 UTC (rev 119849) +++ lxpanel-0.5.12-automake-1.14-support.patch 2014-09-30 00:18:48 UTC (rev 119850) @@ -1,15 +0,0 @@ ---- autogen.sh.orig 2013-01-27 10:38:55.000000000 +0100 -+++ autogen.sh 2013-01-27 10:59:56.897030226 +0100 -@@ -6,9 +6,10 @@ - - if [ "$AM_INSTALLED_VERSION" != "1.10" \ - -a "$AM_INSTALLED_VERSION" != "1.11" \ -- -a "$AM_INSTALLED_VERSION" != "1.12" ];then -+ -a "$AM_INSTALLED_VERSION" != "1.12" \ -+ -a "$AM_INSTALLED_VERSION" != "1.14" ];then - echo -- echo "You must have automake 1.10, 1.11, or 1.12 installed to compile lxpanel." -+ echo "You must have automake >=1.10 installed to compile lxpanel." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" - exit 1 Added: lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch =================================================================== --- lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch (rev 0) +++ lxpanel-0.7.1-SF-679-X11-library-uses-unsigned-long-as-cardinal-32.patch 2014-09-30 00:18:48 UTC (rev 119850) @@ -0,0 +1,169 @@ +From 0bfcc6c97fca70de51acf06396578ddd7f03e9b1 Mon Sep 17 00:00:00 2001 +From: Andriy Grytsenko <and...@rep.kiev.ua> +Date: Wed, 24 Sep 2014 16:51:08 +0300 +Subject: [PATCH] [SF#679]X11 library uses unsigned long as cardinal-32 data, + not uint32_t. + +That lead to invalid strut setting after 5cc945e412002531bb349a0443c837393ce57c43 +And it might lead to other bugs on 64-bit architectures as well, +may be just not reported yet or not reproduced yet. +--- + plugins/launchtaskbar.c | 2 +- + src/ev.c | 4 ++-- + src/misc.c | 10 +++++----- + src/panel.c | 12 ++++++------ + src/private.h | 2 +- + 5 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/plugins/launchtaskbar.c b/plugins/launchtaskbar.c +index 804c6e5..89c9a0b 100644 +--- a/plugins/launchtaskbar.c ++++ b/plugins/launchtaskbar.c +@@ -2690,7 +2690,7 @@ static void taskbar_button_size_allocate(GtkWidget * btn, GtkAllocation * alloc, + + + /* Send a NET_WM_ICON_GEOMETRY property change on the window. */ +- guint32 data[4]; ++ gulong data[4]; + data[0] = x; + data[1] = y; + data[2] = alloc->width; +diff --git a/src/ev.c b/src/ev.c +index e4dd66e..bf47fe0 100644 +--- a/src/ev.c ++++ b/src/ev.c +@@ -290,7 +290,7 @@ fb_ev_current_desktop(FbEv *ev) + { + ENTER; + if (ev->current_desktop == -1) { +- guint32 *data; ++ gulong *data; + + data = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CURRENT_DESKTOP, XA_CARDINAL, 0); + if (data) { +@@ -307,7 +307,7 @@ fb_ev_number_of_desktops(FbEv *ev) + { + ENTER; + if (ev->number_of_desktops == -1) { +- guint32 *data; ++ gulong *data; + + data = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_NUMBER_OF_DESKTOPS, XA_CARDINAL, 0); + if (data) { +diff --git a/src/misc.c b/src/misc.c +index fb16893..f15961b 100644 +--- a/src/misc.c ++++ b/src/misc.c +@@ -542,7 +542,7 @@ get_xaproperty (Window win, Atom prop, Atom type, int *nitems) + + ENTER; + prop_data = NULL; +- if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), win, prop, 0, 0x7fffffff, False, ++ if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY(gdk_display_get_default()), win, prop, 0, G_MAXLONG, False, + type, &type_ret, &format_ret, &items_ret, + &after_ret, &prop_data) != Success) + { +@@ -612,7 +612,7 @@ int + get_net_number_of_desktops() + { + int desknum; +- guint32 *data; ++ gulong *data; + + ENTER; + data = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_NUMBER_OF_DESKTOPS, +@@ -630,7 +630,7 @@ int + get_net_current_desktop () + { + int desk; +- guint32 *data; ++ gulong *data; + + ENTER; + data = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CURRENT_DESKTOP, XA_CARDINAL, 0); +@@ -646,7 +646,7 @@ int + get_net_wm_desktop(Window win) + { + int desk = 0; +- guint32 *data; ++ gulong *data; + + ENTER; + data = get_xaproperty (win, a_NET_WM_DESKTOP, XA_CARDINAL, 0); +@@ -661,7 +661,7 @@ GPid + get_net_wm_pid(Window win) + { + GPid pid = 0; +- guint32 *data; ++ gulong *data; + + ENTER; + data = get_xaproperty (win, a_NET_WM_PID, XA_CARDINAL, 0); +diff --git a/src/panel.c b/src/panel.c +index ee61197..b13a850 100644 +--- a/src/panel.c ++++ b/src/panel.c +@@ -73,7 +73,7 @@ static void lxpanel_finalize(GObject *object) + lxpanel_config_save( self ); + config_destroy(p->config); + +- g_free(p->workarea); ++ XFree(p->workarea); + g_free( p->background_file ); + g_slist_free( p->system_menus ); + +@@ -380,7 +380,7 @@ void _panel_set_wm_strut(LXPanel *panel) + strut_size = p->height_when_hidden; + + /* Set up strut value in property format. */ +- guint32 desired_strut[12]; ++ gulong desired_strut[12]; + memset(desired_strut, 0, sizeof(desired_strut)); + if (p->setstrut) + { +@@ -541,7 +541,7 @@ panel_event_filter(GdkXEvent *xevent, GdkEvent *event, gpointer not_used) + for( l = all_panels; l; l = l->next ) + { + LXPanel* p = (LXPanel*)l->data; +- g_free( p->priv->workarea ); ++ XFree( p->priv->workarea ); + p->priv->workarea = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_WORKAREA, XA_CARDINAL, &p->priv->wa_len); + /* print_wmdata(p); */ + } +@@ -1225,7 +1225,7 @@ panel_start_gui(LXPanel *panel) + { + Atom state[3]; + XWMHints wmhints; +- guint32 val; ++ gulong val; + Display *xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default()); + Panel *p = panel->priv; + GtkWidget *w = GTK_WIDGET(panel); +@@ -1284,9 +1284,9 @@ panel_start_gui(LXPanel *panel) + _panel_establish_autohide(panel); + + /* send it to running wm */ +- Xclimsg(p->topxwin, a_NET_WM_DESKTOP, 0xFFFFFFFF, 0, 0, 0, 0); ++ Xclimsg(p->topxwin, a_NET_WM_DESKTOP, G_MAXULONG, 0, 0, 0, 0); + /* and assign it ourself just for case when wm is not running */ +- val = 0xFFFFFFFF; ++ val = G_MAXULONG; + XChangeProperty(xdisplay, p->topxwin, a_NET_WM_DESKTOP, XA_CARDINAL, 32, + PropModeReplace, (unsigned char *) &val, 1); + +diff --git a/src/private.h b/src/private.h +index 52f398d..fb909e3 100644 +--- a/src/private.h ++++ b/src/private.h +@@ -113,7 +113,7 @@ struct _Panel { + + int desknum; + int curdesk; +- guint32 *workarea; ++ gulong *workarea; + int wa_len; + + char* background_file; +-- +2.1.1 +