diff --git a/u_cursors-animation.patch b/u_cursors-animation.patch new file mode 100644 index 0000000..7f76966 --- /dev/null +++ b/u_cursors-animation.patch @@ -0,0 +1,34 @@ +Author: Илья Индиго +Subject: [PATCH] render: Reset animated cursor timer when sprite changes. +Patch-Mainline: To be upstreamed +Git-commit: 1c4545021f835f077362e7364d28752b7d6e968e +References: boo#1020061 +Signed-off-by: Michal Srb + +Previously the timer would not reset if the sprite changed and timer from a +previous animated cursor was pending. That caused trouble with non-looped +animated cursors that use very long delay on the last frame to prevent looping. +No animation played after such non-looped animation played once. +--- + render/animcur.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/render/animcur.c b/render/animcur.c +index 52e6b8b79..4216c3a40 100644 +--- a/render/animcur.c ++++ b/render/animcur.c +@@ -204,11 +204,9 @@ AnimCurDisplayCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) + pDev->spriteInfo->anim.pCursor = pCursor; + pDev->spriteInfo->anim.pScreen = pScreen; + +- if (!as->timer_set) { +- TimerSet(as->timer, TimerAbsolute, pDev->spriteInfo->anim.time, +- AnimCurTimerNotify, pScreen); +- as->timer_set = TRUE; +- } ++ TimerSet(as->timer, TimerAbsolute, pDev->spriteInfo->anim.time, ++ AnimCurTimerNotify, pScreen); ++ as->timer_set = TRUE; + } + } + else diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index c42e324..c7295d4 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Aug 31 15:18:20 UTC 2017 - ilya@ilya.pp.ua + +- u_cursors-animation.patch fix cursors animation (boo#1020061) + ------------------------------------------------------------------- Fri Jul 14 13:52:36 UTC 2017 - sndirsch@suse.com diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 42cb871..97d8df0 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -191,6 +191,7 @@ Patch9: u_xorg-wrapper-build-Build-position-independent-code.patch Patch100: u_01-Improved-ConfineToShape.patch Patch101: u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grabbing-a-shaped-window.patch # PATCH-FIX-UPSTREAM u_x86emu-include-order.patch schwab@suse.de -- Change include order to avoid conflict with system header, remove duplicate definitions +Patch103: u_cursors-animation.patch Patch104: u_xorg-server-xdmcp.patch Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch @@ -325,6 +326,7 @@ sh %{SOURCE92} --verify . %{SOURCE91} # %patch100 -p1 #%patch101 -p1 +%patch103 -p1 %patch104 -p1 %patch112 -p1