[arch-commits] Commit in redshift/trunk (165_164.diff PKGBUILD)

Lukas Fleischer lfleischer at nymeria.archlinux.org
Mon Jun 3 21:26:39 UTC 2013


    Date: Monday, June 3, 2013 @ 23:26:39
  Author: lfleischer
Revision: 92310

upgpkg: redshift 1.7-6

Fix GTK UI segfault (FS#33412).

Added:
  redshift/trunk/165_164.diff
Modified:
  redshift/trunk/PKGBUILD

--------------+
 165_164.diff |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD     |   17 +++++++++++++----
 2 files changed, 68 insertions(+), 4 deletions(-)

Added: 165_164.diff
===================================================================
--- 165_164.diff	                        (rev 0)
+++ 165_164.diff	2013-06-03 21:26:39 UTC (rev 92310)
@@ -0,0 +1,55 @@
+=== modified file 'src/location-geoclue.c'
+--- src/location-geoclue.c	2011-03-27 22:14:58 +0000
++++ src/location-geoclue.c	2011-07-12 20:30:30 +0000
+@@ -50,14 +50,20 @@
+ int
+ location_geoclue_start(location_geoclue_state_t *state)
+ {
+-	GeoclueMaster *master = NULL;
+-	GeoclueMasterClient *client = NULL;
+-	GError *error = NULL;
+-	gchar *name = NULL;
++        if (state->provider && state->provider_path) {
++		state->position = geoclue_position_new(state->provider,
++						       state->provider_path);
++        } else {
++                GeoclueMaster *master = geoclue_master_get_default();
++                GeoclueMasterClient *client = geoclue_master_create_client(master,
++                                                                           NULL, NULL);
++                GError *error = NULL;
+ 
+-        if (!(state->provider && state->provider_path)) {
+-		master = geoclue_master_get_default();
+-		client = geoclue_master_create_client(master, NULL, NULL);
++                if (client == NULL) {
++                        g_printerr(_("Unable to obtain master client.\n"));
++                        g_object_unref(master);
++                        return -1;
++                }
+ 
+ 		if (!geoclue_master_client_set_requirements(client,
+ 							    GEOCLUE_ACCURACY_LEVEL_REGION,
+@@ -68,15 +74,18 @@
+ 				   error->message);
+ 			g_error_free(error);
+ 			g_object_unref(client);
++                        g_object_unref(master);
+ 
+ 			return -1;
+ 		}
+ 
+ 		state->position = geoclue_master_client_create_position(client, NULL);
+-	} else {
+-		state->position = geoclue_position_new(state->provider,
+-						       state->provider_path);
+-        }
++
++                g_object_unref(client);
++                g_object_unref(master);
++	}
++
++	gchar *name = NULL;
+ 
+ 	if (geoclue_provider_get_provider_info(GEOCLUE_PROVIDER(state->position),
+ 					       &name, NULL, NULL)) {
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2013-06-03 21:05:35 UTC (rev 92309)
+++ PKGBUILD	2013-06-03 21:26:39 UTC (rev 92310)
@@ -6,7 +6,7 @@
 
 pkgname=redshift
 pkgver=1.7
-pkgrel=5
+pkgrel=6
 pkgdesc='Adjusts the color temperature of your screen according to your surroundings.'
 arch=('i686' 'x86_64')
 url='http://jonls.dk/redshift/'
@@ -17,14 +17,23 @@
             'librsvg: for gtk-redshift')
 makedepends=('python2')
 install='redshift.install'
-source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('c56512afa292b5a94b715ed4a1841d4c')
+source=("http://launchpad.net/${pkgname}/trunk/${pkgver}/+download/${pkgname}-${pkgver}.tar.bz2"
+        '165_164.diff') 
+md5sums=('c56512afa292b5a94b715ed4a1841d4c'
+         'eaafcdc62a47d725c256cd5473f4efa1')
 
-build() {
+prepare() {
   cd "${srcdir}/${pkgname}-${pkgver}"
 
   sed -i 's/python/python2/' src/gtk-redshift/gtk-redshift
 
+  # fix GTK UI segmentation fault (fixes FS#33412)
+  patch -p0 -i ../165_164.diff
+}
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+
   PYTHON=/usr/bin/python2 ./configure --prefix=/usr
   make
 }




More information about the arch-commits mailing list