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),