Hello community,

here is the log from the commit of package xine-ui for openSUSE:Factory checked 
in at 2020-06-11 10:04:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xine-ui (Old)
 and      /work/SRC/openSUSE:Factory/.xine-ui.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xine-ui"

Thu Jun 11 10:04:46 2020 rev:39 rq:813085 version:0.99.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/xine-ui/xine-ui.changes  2020-01-28 
10:57:57.285155038 +0100
+++ /work/SRC/openSUSE:Factory/.xine-ui.new.3606/xine-ui.changes        
2020-06-11 10:05:38.835343989 +0200
@@ -1,0 +2,5 @@
+Wed Jun 10 04:51:41 UTC 2020 - wba...@tmo.at
+
+- Add fix-crashes.patch to fix crashes when using older skins
+
+-------------------------------------------------------------------

New:
----
  fix-crashes.patch

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

Other differences:
------------------
++++++ xine-ui.spec ++++++
--- /var/tmp/diff_new_pack.rAHxwj/_old  2020-06-11 10:05:40.327348794 +0200
+++ /var/tmp/diff_new_pack.rAHxwj/_new  2020-06-11 10:05:40.327348794 +0200
@@ -65,6 +65,8 @@
 #PATCH_FIX-OPENSUSE xine-ui-desktop.patch davejpla...@gmail.com - remove 
desktop file errors
 Patch1:         xine-ui-desktop.patch
 Patch2:         xine-ui-lirc.diff
+# PATCH-FIX-UPSTREAM
+Patch3:         fix-crashes.patch
 # *** SUSE only changes
 Patch50:        xine-ui-crippled-LOCAL.diff
 Patch60:        xine-ui-AUTOMAKE.diff
@@ -86,6 +88,7 @@
 echo %{with distributable}
 %setup -q
 %patch2 -p1
+%patch3 -p1
 %patch0
 #%%patch22 -p1
 %patch50 -p0

++++++ fix-crashes.patch ++++++
--- a/src/xitk/xine-toolkit/slider.c
+++ b/src/xitk/xine-toolkit/slider.c
@@ -287,7 +287,8 @@
     private_data = (slider_private_data_t *) w->private_data;
     bg = (xitk_image_t *) private_data->bg_skin;
     paddle = (xitk_image_t *) private_data->paddle_skin;
-
+    if (!paddle || !bg)
+      return;
     x = y = srcx1 = srcx2 = destx1 = srcy1 = srcy2 = desty1 = 0;
         
     XLOCK (private_data->imlibdata->x.x_lock_display, 
private_data->imlibdata->x.disp);
@@ -452,6 +453,10 @@
       xitk_skin_lock(skonfig);
 
       private_data->paddle_skin     = xitk_skin_get_image(skonfig, 
xitk_skin_get_slider_skin_filename(skonfig, private_data->skin_element_name));
+      if (!private_data->paddle_skin) {
+        xitk_skin_unlock(skonfig);
+        return;
+      }
       private_data->button_width    = private_data->paddle_skin->width / 3;
       private_data->bg_skin         = xitk_skin_get_image(skonfig, 
xitk_skin_get_skin_filename(skonfig, private_data->skin_element_name));
       private_data->sType = xitk_skin_get_slider_type(skonfig, 
private_data->skin_element_name);
@@ -849,15 +849,19 @@
                                  xitk_skin_config_t *skonfig, 
xitk_slider_widget_t *s) {
 
   XITK_CHECK_CONSTITENCY(s);
-  
+
+  xitk_image_t *bg_skin = xitk_skin_get_image(skonfig,
+      xitk_skin_get_skin_filename(skonfig, s->skin_element_name));
+  xitk_image_t *pad_skin = xitk_skin_get_image(skonfig,
+      xitk_skin_get_slider_skin_filename(skonfig, s->skin_element_name));
+  if (!bg_skin || !pad_skin)
+    return NULL;
+
   return _xitk_slider_create(wl, skonfig, s,
                             (xitk_skin_get_coord_x(skonfig, 
s->skin_element_name)),
                             (xitk_skin_get_coord_y(skonfig, 
s->skin_element_name)),
                             s->skin_element_name,
-                            (xitk_skin_get_image(skonfig, 
-                                                 
xitk_skin_get_skin_filename(skonfig, s->skin_element_name))),
-                            (xitk_skin_get_image(skonfig, 
-                                                 
xitk_skin_get_slider_skin_filename(skonfig, s->skin_element_name))),
+                            bg_skin, pad_skin,
                             (xitk_skin_get_slider_type(skonfig, 
s->skin_element_name)),
                             (xitk_skin_get_slider_radius(skonfig, 
s->skin_element_name)),
                             ((xitk_skin_get_visibility(skonfig, 
s->skin_element_name)) ? 1 : -1),



Reply via email to