Hello community,

here is the log from the commit of package xfdesktop for openSUSE:Factory 
checked in at 2013-03-11 07:53:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfdesktop (Old)
 and      /work/SRC/openSUSE:Factory/.xfdesktop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xfdesktop", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/xfdesktop/xfdesktop.changes      2013-03-08 
09:58:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xfdesktop.new/xfdesktop.changes 2013-03-11 
07:53:53.000000000 +0100
@@ -1,0 +2,7 @@
+Sun Mar 10 12:02:08 UTC 2013 - [email protected]
+
+- update to 4.10.2
+  - fix hang when no backdrop image is selected
+  - fix tiling for some images.
+
+-------------------------------------------------------------------

Old:
----
  xfdesktop-4.10.1.tar.bz2

New:
----
  xfdesktop-4.10.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xfdesktop.spec ++++++
--- /var/tmp/diff_new_pack.XWhuBJ/_old  2013-03-11 07:53:55.000000000 +0100
+++ /var/tmp/diff_new_pack.XWhuBJ/_new  2013-03-11 07:53:55.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           xfdesktop
-Version:        4.10.1
+Version:        4.10.2
 Release:        0
 Summary:        Desktop Manager for the Xfce Desktop Environment
 License:        GPL-2.0+

++++++ xfdesktop-4.10.1.tar.bz2 -> xfdesktop-4.10.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfdesktop-4.10.1/ChangeLog 
new/xfdesktop-4.10.2/ChangeLog
--- old/xfdesktop-4.10.1/ChangeLog      2013-03-02 18:10:31.000000000 +0100
+++ new/xfdesktop-4.10.2/ChangeLog      2013-03-10 11:46:18.000000000 +0100
@@ -1,3 +1,41 @@
+commit 7b2eda13185b9e48d7f2a45f9b327f8d36a4637c
+Author: Eric Koegel <[email protected]>
+Date:   Wed Mar 6 20:11:21 2013 +0300
+
+    Fix tiling for some images
+    
+    gdk_pixbuf_get_file_info will return the width and height of the
+    bounding box in animation files which will cause the tiling
+    function to fail. This adds a check to get the actual width and
+    height of the image before tiling it.
+
+commit a22643103bf113f58fb31c90c5a8963457d0783c
+Author: Evangelos Foutras <[email protected]>
+Date:   Wed Mar 6 05:58:54 2013 +0200
+
+    Fix hang when no backdrop image is selected (Bug #9892)
+    
+    Checking whether backdrop->priv->image_path exists isn't enough; we'd
+    also have to check whether backdrop->priv->show_image is TRUE before
+    proceeding to apply a backdrop image.
+    
+    When backdrop->priv->show_image is FALSE, iw and ih (image width/height)
+    will be zero, but can later be used to compute the upper limit of a for
+    loop as well as other computations.
+    
+    To solve this, a new boolean variable (apply_backdrop_image) is added
+    and set to TRUE only if the return value of gdk_pixbuf_get_file_info()
+    is not NULL (meaning that the image format is recognized).
+    
+    The above logic error was introduced in commit
+    ebad377e5cd067cec9f2b402dff4991ddc4cc3b5.
+
+commit 7669bff74748508f9d7471eb827cb77cf57bd2af
+Author: Jérôme Guelfucci <[email protected]>
+Date:   Sat Mar 2 18:16:49 2013 +0100
+
+    Bump version for new release.
+
 commit d3a3bb5302d1e504141b875e67574a492076ed5f
 Author: Nick Schermer <[email protected]>
 Date:   Fri Aug 3 21:50:37 2012 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfdesktop-4.10.1/NEWS new/xfdesktop-4.10.2/NEWS
--- old/xfdesktop-4.10.1/NEWS   2013-03-02 18:04:58.000000000 +0100
+++ new/xfdesktop-4.10.2/NEWS   2013-03-10 11:44:31.000000000 +0100
@@ -1,3 +1,8 @@
+4.10.2
+======
+- Fix hang when no backdrop image is selected (Bug #9892).
+- Fix tiling for some images.
+
 4.10.1
 ======
 - Add a tabs width of padding for tooltip text (Bug #9162).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfdesktop-4.10.1/configure 
new/xfdesktop-4.10.2/configure
--- old/xfdesktop-4.10.1/configure      2013-03-02 18:07:50.000000000 +0100
+++ new/xfdesktop-4.10.2/configure      2013-03-10 11:45:33.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xfdesktop 4.10.1.
+# Generated by GNU Autoconf 2.69 for xfdesktop 4.10.2.
 #
 # Report bugs to <http://bugzilla.xfce.org/>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='xfdesktop'
 PACKAGE_TARNAME='xfdesktop'
-PACKAGE_VERSION='4.10.1'
-PACKAGE_STRING='xfdesktop 4.10.1'
+PACKAGE_VERSION='4.10.2'
+PACKAGE_STRING='xfdesktop 4.10.2'
 PACKAGE_BUGREPORT='http://bugzilla.xfce.org/'
 PACKAGE_URL=''
 
@@ -1467,7 +1467,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xfdesktop 4.10.1 to adapt to many kinds of systems.
+\`configure' configures xfdesktop 4.10.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1541,7 +1541,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xfdesktop 4.10.1:";;
+     short | recursive ) echo "Configuration of xfdesktop 4.10.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1684,7 +1684,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xfdesktop configure 4.10.1
+xfdesktop configure 4.10.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2053,7 +2053,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xfdesktop $as_me 4.10.1, which was
+It was created by xfdesktop $as_me 4.10.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2403,7 +2403,7 @@
 
 
 
-XFDESKTOP_VERSION=4.10.1
+XFDESKTOP_VERSION=4.10.2
 am__api_version='1.11'
 
 ac_aux_dir=
@@ -18673,7 +18673,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xfdesktop $as_me 4.10.1, which was
+This file was extended by xfdesktop $as_me 4.10.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18739,7 +18739,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-xfdesktop config.status 4.10.1
+xfdesktop config.status 4.10.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfdesktop-4.10.1/configure.ac 
new/xfdesktop-4.10.2/configure.ac
--- old/xfdesktop-4.10.1/configure.ac   2013-03-02 18:07:45.000000000 +0100
+++ new/xfdesktop-4.10.2/configure.ac   2013-03-10 11:45:27.000000000 +0100
@@ -11,9 +11,9 @@
 dnl version info
 m4_define([xfdesktop_version_major], [4])
 m4_define([xfdesktop_version_minor], [10])
-m4_define([xfdesktop_version_micro], [1])
+m4_define([xfdesktop_version_micro], [2])
 m4_define([xfdesktop_version_nano], [])
-m4_define([xfdesktop_version_build], [d3a3bb5])
+m4_define([xfdesktop_version_build], [7b2eda1])
 m4_define([xfdesktop_version_tag],[])
 m4_define([xfdesktop_version], 
[xfdesktop_version_major().xfdesktop_version_minor().xfdesktop_version_micro()ifelse(xfdesktop_version_nano(),
 [], [], [.xfdesktop_version_nano()])ifelse(xfdesktop_version_tag(), [git], 
[xfdesktop_version_tag()-xfdesktop_version_build()], 
[xfdesktop_version_tag()])])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xfdesktop-4.10.1/src/xfce-backdrop.c 
new/xfdesktop-4.10.2/src/xfce-backdrop.c
--- old/xfdesktop-4.10.1/src/xfce-backdrop.c    2013-03-02 17:42:00.000000000 
+0100
+++ new/xfdesktop-4.10.2/src/xfce-backdrop.c    2013-03-09 11:37:45.000000000 
+0100
@@ -924,6 +924,8 @@
 xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
 {
     GdkPixbuf *final_image, *image = NULL, *tmp;
+    GdkPixbufFormat *format = NULL;
+    gboolean apply_backdrop_image = FALSE;
     gint i, j;
     gint w, h, iw = 0, ih = 0;
     XfceBackdropImageStyle istyle;
@@ -933,8 +935,12 @@
     
     g_return_val_if_fail(XFCE_IS_BACKDROP(backdrop), NULL);
     
-    if(backdrop->priv->show_image && backdrop->priv->image_path)
-        gdk_pixbuf_get_file_info(backdrop->priv->image_path, &iw, &ih);
+    if(backdrop->priv->show_image && backdrop->priv->image_path) {
+        format = gdk_pixbuf_get_file_info(backdrop->priv->image_path, &iw, 
&ih);
+        /* make sure we have a usable backdrop image */
+        if(format != NULL)
+            apply_backdrop_image = TRUE;
+    }
 
     if(backdrop->priv->width == 0 || backdrop->priv->height == 0) {
         w = iw;
@@ -956,9 +962,7 @@
             final_image = create_solid(&backdrop->priv->color1, w, h, FALSE, 
0xff);
     }
     
-    /*check if the file exists,
-     *and if it doesn't then make the background the single colour*/
-    if(!g_file_test(backdrop->priv->image_path, G_FILE_TEST_EXISTS)) {
+    if(!apply_backdrop_image) {
         if(backdrop->priv->brightness != 0)
             final_image = adjust_brightness(final_image, 
backdrop->priv->brightness);
         
@@ -1009,6 +1013,11 @@
         case XFCE_BACKDROP_IMAGE_TILED:
             image = gdk_pixbuf_new_from_file(backdrop->priv->image_path, NULL);
             tmp = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h);
+            /* Now that the image has been loaded, recalculate the image
+             * size because gdk_pixbuf_get_file_info doesn't always return
+             * the correct size */
+            iw = gdk_pixbuf_get_width(image);
+            ih = gdk_pixbuf_get_height(image);
             for(i = 0; (i * iw) < w; i++) {
                 for(j = 0; (j * ih) < h; j++) {
                     gint newx = iw * i, newy = ih * j;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to