From d27b9a66a2634f5d435f01ad3570c80a65bb638d3c87853451031be9d8fd2639 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Mon, 29 Oct 2018 08:53:55 +0000 Subject: [PATCH 1/3] Accepting request 644892 from home:michalsrb:bug1110199:Base:System - plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch * Make sure plymouthd stops throbber animation at the first opportunity after receiving quit command, instead of looping multiple times. (boo#1110199) OBS-URL: https://build.opensuse.org/request/show/644892 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=205 --- ...skip-last-frame-when-waiting-for-end.patch | 49 +++++++++++++++++++ plymouth.changes | 8 +++ plymouth.spec | 2 + 3 files changed, 59 insertions(+) create mode 100644 plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch diff --git a/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch b/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch new file mode 100644 index 0000000..6076b6d --- /dev/null +++ b/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch @@ -0,0 +1,49 @@ +From 121783eff1759f6089863ec4d3e722e94fe73cdb Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Tue, 23 Oct 2018 09:10:25 +0200 +Subject: [PATCH] throbber: Don't skip last frame when waiting for end. + +If the stop_trigger is set and we are waiting for the last frame to stop the +animation, make sure we don't accidentally skip the last frame. It could +happen if the machine is busy and can't keep up with the frames or when the +animation has more than 60 frames (30FPS * 2 seconds). +--- + src/libply-splash-graphics/ply-throbber.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/libply-splash-graphics/ply-throbber.c b/src/libply-splash-graphics/ply-throbber.c +index f18feb6..a4311fd 100644 +--- a/src/libply-splash-graphics/ply-throbber.c ++++ b/src/libply-splash-graphics/ply-throbber.c +@@ -144,6 +144,7 @@ animate_at_time (ply_throbber_t *throbber, + ply_pixel_buffer_t *const *frames; + bool should_continue; + double percent_in_sequence; ++ int last_frame_number; + + number_of_frames = ply_array_get_size (throbber->frames); + +@@ -152,11 +153,19 @@ animate_at_time (ply_throbber_t *throbber, + + should_continue = true; + percent_in_sequence = fmod (time, THROBBER_DURATION) / THROBBER_DURATION; ++ last_frame_number = throbber->frame_number; + throbber->frame_number = (int) (number_of_frames * percent_in_sequence); + +- if (throbber->stop_trigger != NULL) ++ if (throbber->stop_trigger != NULL) { ++ /* If we are trying to stop, make sure we don't skip the last ++ * frame and loop around. Clamp it to the last frame. ++ */ ++ if (last_frame_number > throbber->frame_number) ++ throbber->frame_number = number_of_frames - 1; ++ + if (throbber->frame_number == number_of_frames - 1) + should_continue = false; ++ } + + frames = (ply_pixel_buffer_t *const *) ply_array_get_pointer_elements (throbber->frames); + ply_pixel_buffer_get_size (frames[throbber->frame_number], &throbber->frame_area); +-- +2.16.4 + diff --git a/plymouth.changes b/plymouth.changes index 609fe4c..a5cb2bf 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Oct 23 07:15:48 UTC 2018 - msrb@suse.com + +- plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch + * Make sure plymouthd stops throbber animation at the first + opportunity after receiving quit command, instead of looping + multiple times. (boo#1110199) + ------------------------------------------------------------------- Thu Oct 18 11:57:15 UTC 2018 - qzhao@suse.com diff --git a/plymouth.spec b/plymouth.spec index 78ecb32..c806de2 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -47,6 +47,8 @@ Patch5: 0001-Add-label-ft-plugin.patch Patch6: 0002-Install-label-ft-plugin-into-initrd-if-available.patch # PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch7: 0003-fix_null_deref.patch +# PATCH-FIX-UPSTREAM plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch boo#1110199 msrb@suse.com -- Do not skip last frame when waiting for end of throbber animation. Prevents unvanted looping after being told to quit. +Patch8: plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets From 4ee51fec78ac217189618cf40046026115cf087b9cde04854f5ac351e4797597 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Thu, 1 Nov 2018 09:05:31 +0000 Subject: [PATCH 2/3] Accepting request 645870 from home:qzhao:branches:Base:System Update to version 0.9.3+git20181031.025ce59: drm: use preferred mode for outputs, drm: Refactor ply_renderer_connector_get_rotation, drm: Reset LUT/gamma table before the first drmModeSetCrtc call, libply: Move kernel commandline parsing functions to libply/ply-utils, throbber: Don't skip last frame when waiting for end. - Drop plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch, * Upstream has already accept Michal's modification. OBS-URL: https://build.opensuse.org/request/show/645870 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=206 --- plymouth-0.9.3+git20181016.a588b3f.tar.xz | 3 -- plymouth-0.9.3+git20181031.025ce59.tar.xz | 3 ++ ...skip-last-frame-when-waiting-for-end.patch | 49 ------------------- plymouth.changes | 12 +++++ plymouth.spec | 4 +- 5 files changed, 16 insertions(+), 55 deletions(-) delete mode 100644 plymouth-0.9.3+git20181016.a588b3f.tar.xz create mode 100644 plymouth-0.9.3+git20181031.025ce59.tar.xz delete mode 100644 plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch diff --git a/plymouth-0.9.3+git20181016.a588b3f.tar.xz b/plymouth-0.9.3+git20181016.a588b3f.tar.xz deleted file mode 100644 index 817ce7a..0000000 --- a/plymouth-0.9.3+git20181016.a588b3f.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9689b233060bc67c41e1c75b33f52df6f7936acc243ce7943c32592159f9711e -size 5404620 diff --git a/plymouth-0.9.3+git20181031.025ce59.tar.xz b/plymouth-0.9.3+git20181031.025ce59.tar.xz new file mode 100644 index 0000000..7bc1e84 --- /dev/null +++ b/plymouth-0.9.3+git20181031.025ce59.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e623ebd5cbf1ea5ba8c18f15d9d5e41fba1018d239258673d3e1e17cc0902ca1 +size 5644824 diff --git a/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch b/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch deleted file mode 100644 index 6076b6d..0000000 --- a/plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 121783eff1759f6089863ec4d3e722e94fe73cdb Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Tue, 23 Oct 2018 09:10:25 +0200 -Subject: [PATCH] throbber: Don't skip last frame when waiting for end. - -If the stop_trigger is set and we are waiting for the last frame to stop the -animation, make sure we don't accidentally skip the last frame. It could -happen if the machine is busy and can't keep up with the frames or when the -animation has more than 60 frames (30FPS * 2 seconds). ---- - src/libply-splash-graphics/ply-throbber.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/src/libply-splash-graphics/ply-throbber.c b/src/libply-splash-graphics/ply-throbber.c -index f18feb6..a4311fd 100644 ---- a/src/libply-splash-graphics/ply-throbber.c -+++ b/src/libply-splash-graphics/ply-throbber.c -@@ -144,6 +144,7 @@ animate_at_time (ply_throbber_t *throbber, - ply_pixel_buffer_t *const *frames; - bool should_continue; - double percent_in_sequence; -+ int last_frame_number; - - number_of_frames = ply_array_get_size (throbber->frames); - -@@ -152,11 +153,19 @@ animate_at_time (ply_throbber_t *throbber, - - should_continue = true; - percent_in_sequence = fmod (time, THROBBER_DURATION) / THROBBER_DURATION; -+ last_frame_number = throbber->frame_number; - throbber->frame_number = (int) (number_of_frames * percent_in_sequence); - -- if (throbber->stop_trigger != NULL) -+ if (throbber->stop_trigger != NULL) { -+ /* If we are trying to stop, make sure we don't skip the last -+ * frame and loop around. Clamp it to the last frame. -+ */ -+ if (last_frame_number > throbber->frame_number) -+ throbber->frame_number = number_of_frames - 1; -+ - if (throbber->frame_number == number_of_frames - 1) - should_continue = false; -+ } - - frames = (ply_pixel_buffer_t *const *) ply_array_get_pointer_elements (throbber->frames); - ply_pixel_buffer_get_size (frames[throbber->frame_number], &throbber->frame_area); --- -2.16.4 - diff --git a/plymouth.changes b/plymouth.changes index a5cb2bf..377168d 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Oct 31 15:30:48 UTC 2018 - qzhao@suse.com + +- Update to version 0.9.3+git20181031.025ce59: + drm: use preferred mode for outputs + drm: Refactor ply_renderer_connector_get_rotation + drm: Reset LUT/gamma table before the first drmModeSetCrtc call + libply: Move kernel commandline parsing functions to libply/ply-utils + throbber: Don't skip last frame when waiting for end. +- Drop plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch + * Upstream has already accept Michal's modification. + ------------------------------------------------------------------- Tue Oct 23 07:15:48 UTC 2018 - msrb@suse.com diff --git a/plymouth.spec b/plymouth.spec index c806de2..0cbcfce 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -22,7 +22,7 @@ %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth -Version: 0.9.3+git20181016.a588b3f +Version: 0.9.3+git20181031.025ce59 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0-or-later @@ -47,8 +47,6 @@ Patch5: 0001-Add-label-ft-plugin.patch Patch6: 0002-Install-label-ft-plugin-into-initrd-if-available.patch # PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch7: 0003-fix_null_deref.patch -# PATCH-FIX-UPSTREAM plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch boo#1110199 msrb@suse.com -- Do not skip last frame when waiting for end of throbber animation. Prevents unvanted looping after being told to quit. -Patch8: plymouth-throbber-Don-t-skip-last-frame-when-waiting-for-end.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets From a31d383147b62ac074cd9730bb38a101d29479f3c8f3aeba53b7e66ded3271e7 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Tue, 6 Nov 2018 08:30:05 +0000 Subject: [PATCH 3/3] Accepting request 646575 from home:qzhao:branches:Base:System Update to 0.9.4+git20181105.f898586, bump 0.9.4 OBS-URL: https://build.opensuse.org/request/show/646575 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=207 --- plymouth-0.9.3+git20181031.025ce59.tar.xz | 3 --- plymouth-0.9.4+git20181105.f898586.tar.xz | 3 +++ plymouth.changes | 6 ++++++ plymouth.spec | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 plymouth-0.9.3+git20181031.025ce59.tar.xz create mode 100644 plymouth-0.9.4+git20181105.f898586.tar.xz diff --git a/plymouth-0.9.3+git20181031.025ce59.tar.xz b/plymouth-0.9.3+git20181031.025ce59.tar.xz deleted file mode 100644 index 7bc1e84..0000000 --- a/plymouth-0.9.3+git20181031.025ce59.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e623ebd5cbf1ea5ba8c18f15d9d5e41fba1018d239258673d3e1e17cc0902ca1 -size 5644824 diff --git a/plymouth-0.9.4+git20181105.f898586.tar.xz b/plymouth-0.9.4+git20181105.f898586.tar.xz new file mode 100644 index 0000000..f48d594 --- /dev/null +++ b/plymouth-0.9.4+git20181105.f898586.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9058e8781c9cb282127cc6215a2f5c11b96641654dbe00688b94fbbb8aa97c40 +size 5647624 diff --git a/plymouth.changes b/plymouth.changes index 377168d..5f595ce 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 6 08:19:01 UTC 2018 - qzhao@suse.com + +- Update to version 0.9.4+git20181105.f898586 + bump to 0.9.4 + ------------------------------------------------------------------- Tue Oct 31 15:30:48 UTC 2018 - qzhao@suse.com diff --git a/plymouth.spec b/plymouth.spec index 0cbcfce..e09c9d2 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -22,7 +22,7 @@ %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth -Version: 0.9.3+git20181031.025ce59 +Version: 0.9.4+git20181105.f898586 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0-or-later