Debian Patches

Status for compiz-plugins-main/2:0.8.18-8

Patch Description Author Forwarded Bugs Origin Last update
focus-track no
focus-atspi https://gitlab.com/compiz/compiz-plugins-main/-/merge_requests/84

commit b4438cff73371548c35dfc025c1de571e8325563

focuspoll: Fix disabling a11ywatcher on disabling focus poll

focuspollRemoveFocusPolling would previously return as soon as it finds the
poller, and thus never actually check for fs->clients being NULL.

Actually, we do not want to make focuspollRemoveFocusPolling call
compRemoveTimeout itself, since it is typically called from the timeout
handler itself, and handleTimeouts doesn't support removing the timeout
while it is getting processed:

compRemoveTimeout (display.c:1016)
focuspollRemoveFocusPolling(_CompScreen*, int) (focuspoll.cpp:216)
updateFocusInterval (ezoom.c:1538)
updatePosition(void*) (focuspoll.cpp:124)
handleTimeouts (display.c:1367)
eventLoop (display.c:1750)
main (main.c:522)

We can as well check for fs->clients being NULL and simply return FALSE to
disable the timeout after looping over clients inside updatePosition.

diff --git a/src/focuspoll/focuspoll.cpp b/src/focuspoll/focuspoll.cpp
index 88d73f5..389d783 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2020-07-06
focus-position commit 8de53f9402a02f24caf78fa9e6f1a31605263ee8

focuspoll: Fix focus position on some situation with ATK >= 2.36

ATK 2.36 started returning -1 to mean "unknown value", both in
functions that otherwise didn't set the value, and for
atk_text_get_character_extents() that used to fill with 0s although it
wasn't documented.

diff --git a/src/focuspoll/accessibilitywatcher.cpp b/src/focuspoll/accessibilitywatcher.cpp
index 9952755..840763e 100644
Colomban Wendling <cwendling@hypra.fr> no 2020-07-30
dynamic-outputs no
implicit-function-declaration commit 568f653a17722062666917b42444d97bb2a76fab

Fixed build with gcc-14

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>

diff --git a/src/mag/mag.c b/src/mag/mag.c
index f3c8fc3..6aac3a7 100644
Jaroslav Škarvada <jskarvad@redhat.com> no 2024-02-05
icu76 commit c12734230f00b338e22d94c8dda9a66af32b737e

focuspoll: Force c++11 standard only when needed

We need at least c++11 to get unique_ptr, but we can thus not force using
c++11 any more nowadays, otherwise we get

In file included from /usr/include/unicode/uenum.h:25,
from /usr/include/unicode/ucnv.h:52,
from /usr/include/libxml2/libxml/encoding.h:31,
from /usr/include/libxml2/libxml/parser.h:812,
from /usr/include/compiz/compiz.h:29,
from /usr/include/compiz/compiz-plugin.h:29,
from /usr/include/compiz/compiz-core.h:29,
from focuspoll.cpp:36:
/usr/include/unicode/localpointer.h:561:26: error: parameter declared 'auto'
561 | template <typename Type, auto closeFunction>
| ^~~~

Because icu started requiring c++17 in its version 76.

Leaving this empty makes gcc >= 11 assume c++17, and should fare fine on the
long run. To avoid breaking building with gcc 10 and earlier which does not
default to c++>=11, we can use ‘ac_prog_cxx_stdcxx’ to detect when
-std=c++11 is needed.

diff --git a/configure.ac b/configure.ac
index 0860d99..fc61e6c 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2025-03-25

All known versions for source package 'compiz-plugins-main'

Links