From b250e6e2615ab3ae17f3d25ca603629b178d4b8329d9e0093d172a22a5eee6bf Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 25 Jun 2014 20:44:01 +0000 Subject: [PATCH] Accepting request 238657 from home:fcrozat:branches:Base:System - Add 0001-splash-do-not-process-display-lists-if-it-is-empty.patch: fix crash when calling plymouth quit - Add 0001-seats-guard-against-NULL-terminal.patch: guard against NULL terminal. - Update stop-graphical.patch: add RemainAfterExit=true to plymouth-start.service, ensuring plymouthd is not restarted when switching between runlevels. OBS-URL: https://build.opensuse.org/request/show/238657 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=147 --- ...process-display-lists-if-it-is-empty.patch | 56 +++++++++++++++++++ plymouth.changes | 11 ++++ plymouth.spec | 3 + stop-graphical.patch | 12 ++-- 4 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 0001-splash-do-not-process-display-lists-if-it-is-empty.patch diff --git a/0001-splash-do-not-process-display-lists-if-it-is-empty.patch b/0001-splash-do-not-process-display-lists-if-it-is-empty.patch new file mode 100644 index 0000000..eb36c37 --- /dev/null +++ b/0001-splash-do-not-process-display-lists-if-it-is-empty.patch @@ -0,0 +1,56 @@ +From 95b775ea543489c688595e94a96909402b2b56f1 Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 20 Jun 2014 16:01:12 +0200 +Subject: [PATCH] splash: do not process display lists if it is empty or NULL + +--- + src/plugins/splash/script/plugin.c | 1 + + src/plugins/splash/script/script-lib-sprite.c | 7 +++++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/plugins/splash/script/plugin.c b/src/plugins/splash/script/plugin.c +index 8e37b37..cd9e052 100644 +--- a/src/plugins/splash/script/plugin.c ++++ b/src/plugins/splash/script/plugin.c +@@ -334,6 +334,7 @@ stop_script_animation (ply_boot_splash_plugin_t *plugin) + + script_state_destroy (plugin->script_state); + script_lib_sprite_destroy (plugin->script_sprite_lib); ++ plugin->script_sprite_lib = NULL; + script_lib_image_destroy (plugin->script_image_lib); + script_lib_plymouth_destroy (plugin->script_plymouth_lib); + script_lib_math_destroy (plugin->script_math_lib); +diff --git a/src/plugins/splash/script/script-lib-sprite.c b/src/plugins/splash/script/script-lib-sprite.c +index 166c7e7..f1cd57f 100644 +--- a/src/plugins/splash/script/script-lib-sprite.c ++++ b/src/plugins/splash/script/script-lib-sprite.c +@@ -704,6 +704,9 @@ void script_lib_sprite_pixel_display_removed (script_lib_sprite_data_t *data, pl + ply_list_node_t *next_node; + script_lib_display_t* display; + ++ if (!data) ++ return; ++ + node = ply_list_get_first_node (data->displays); + while (node) + { +@@ -725,6 +728,9 @@ script_lib_sprite_refresh (script_lib_sprite_data_t *data) + ply_region_t *region = ply_region_new (); + ply_list_t *rectable_list; + ++ if (!data) ++ return; ++ + ply_list_sort_stable (data->sprite_list, &sprite_compare_z); + + node = ply_list_get_first_node (data->sprite_list); +@@ -848,5 +854,6 @@ void script_lib_sprite_destroy (script_lib_sprite_data_t *data) + script_parse_op_free (data->script_main_op); + script_obj_native_class_destroy (data->class); + free (data); ++ data = NULL; + } + +-- +1.8.4.5 + diff --git a/plymouth.changes b/plymouth.changes index 8342df6..73e5ef2 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Fri Jun 20 14:03:36 UTC 2014 - fcrozat@suse.com + +- Add + 0001-splash-do-not-process-display-lists-if-it-is-empty.patch: + fix crash when calling plymouth quit +- Add 0001-seats-guard-against-NULL-terminal.patch: guard against + NULL terminal. +- Update stop-graphical.patch: add RemainAfterExit=true to + plymouth-start.service, ensuring plymouthd is not restarted when + switching between runlevels. +------------------------------------------------------------------- Thu Jun 19 14:22:44 UTC 2014 - fcrozat@suse.com - Add diff --git a/plymouth.spec b/plymouth.spec index 9d541b4..8ee2621 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -50,6 +50,8 @@ Patch20: use-mkinitrd.patch Patch21: 0001-seats-guard-against-NULL-terminal.patch # PATCH-FIX-UPSTREAM 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch fcrozat@suse.com -- prevent crash if pixel display is removed Patch22: 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch +# Patch-FIX-UPSTREAM 0001-splash-do-not-process-display-lists-if-it-is-empty.patch +Patch23: 0001-splash-do-not-process-display-lists-if-it-is-empty.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-headers @@ -340,6 +342,7 @@ plugin. %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 # replace builddate with patch0date sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c diff --git a/stop-graphical.patch b/stop-graphical.patch index e2768b8..99100cc 100644 --- a/stop-graphical.patch +++ b/stop-graphical.patch @@ -1,7 +1,7 @@ -Index: plymouth-0.8.6.1/systemd-units/plymouth-quit-wait.service.in +Index: plymouth-0.9.0/systemd-units/plymouth-quit-wait.service.in =================================================================== ---- plymouth-0.8.6.1.orig/systemd-units/plymouth-quit-wait.service.in -+++ plymouth-0.8.6.1/systemd-units/plymouth-quit-wait.service.in +--- plymouth-0.9.0.orig/systemd-units/plymouth-quit-wait.service.in ++++ plymouth-0.9.0/systemd-units/plymouth-quit-wait.service.in @@ -1,6 +1,7 @@ [Unit] Description=Wait for Plymouth Boot Screen to Quit @@ -10,10 +10,10 @@ Index: plymouth-0.8.6.1/systemd-units/plymouth-quit-wait.service.in [Service] ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth --wait -Index: plymouth-0.8.6.1/systemd-units/plymouth-quit.service.in +Index: plymouth-0.9.0/systemd-units/plymouth-quit.service.in =================================================================== ---- plymouth-0.8.6.1.orig/systemd-units/plymouth-quit.service.in -+++ plymouth-0.8.6.1/systemd-units/plymouth-quit.service.in +--- plymouth-0.9.0.orig/systemd-units/plymouth-quit.service.in ++++ plymouth-0.9.0/systemd-units/plymouth-quit.service.in @@ -1,6 +1,7 @@ [Unit] Description=Terminate Plymouth Boot Screen