Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package openbox [ Reason ] This changes fixed infinite loop when openbox is running with > 2 screens [ Impact ] Same as above. [ Tests ] No tests affected. [ Risks ] Zero risks. Patch fixed multi monitor configuration.
diff -Nru openbox-3.6.1/debian/changelog openbox-3.6.1/debian/changelog --- openbox-3.6.1/debian/changelog 2020-03-17 18:22:37.000000000 +0100 +++ openbox-3.6.1/debian/changelog 2021-03-18 22:11:13.000000000 +0100 @@ -1,3 +1,11 @@ +openbox (3.6.1-9+deb11u1) unstable; urgency=medium + + [ dann frazier ] + * When running with > 2 screens, avoid calling XQueryPointer() in an + infinite loop. (Closes: #983882) + + -- Mateusz Łukasik <mat...@linuxmint.pl> Thu, 18 Mar 2021 22:11:13 +0100 + openbox (3.6.1-9) unstable; urgency=medium * Switch to python3. (Closes: #887122 #886716) (LP: #1816473) diff -Nru openbox-3.6.1/debian/patches/Fix-collision-between-iterator-and-throw-away-argume.patch openbox-3.6.1/debian/patches/Fix-collision-between-iterator-and-throw-away-argume.patch --- openbox-3.6.1/debian/patches/Fix-collision-between-iterator-and-throw-away-argume.patch 1970-01-01 01:00:00.000000000 +0100 +++ openbox-3.6.1/debian/patches/Fix-collision-between-iterator-and-throw-away-argume.patch 2021-03-18 22:10:53.000000000 +0100 @@ -0,0 +1,38 @@ +From: Alex Goins <ago...@nvidia.com> +Date: Thu, 18 Feb 2021 21:25:22 -0600 +Subject: [PATCH] Fix collision between iterator and throw-away argument to + XQueryPointer() + +Without this, Openbox is unstable on any setup with more than 2 X screens, as +the collision can make the loop infinitely call XQueryPointer() on X screen 1. + +Bug-Debian: https://bugs.debian.org/983882 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1917516 +Origin: https://github.com/AlexGoinsNV/openbox-multiXscreen-bugfix/commit/2635c87d160aa5f6f9e91e290678e99111788d57 +Last-Updated: 2021-03-02 + +Index: openbox-debian/openbox/screen.c +=================================================================== +--- openbox-debian.orig/openbox/screen.c ++++ openbox-debian/openbox/screen.c +@@ -1908,16 +1908,16 @@ guint screen_monitor_pointer() + gboolean screen_pointer_pos(gint *x, gint *y) + { + Window w; +- gint i; ++ gint i, scrnindex; + guint u; + gboolean ret; + + ret = !!XQueryPointer(obt_display, obt_root(ob_screen), + &w, &w, x, y, &i, &i, &u); + if (!ret) { +- for (i = 0; i < ScreenCount(obt_display); ++i) +- if (i != ob_screen) +- if (XQueryPointer(obt_display, obt_root(i), ++ for (scrnindex = 0; scrnindex < ScreenCount(obt_display); ++scrnindex) ++ if (scrnindex != ob_screen) ++ if (XQueryPointer(obt_display, obt_root(scrnindex), + &w, &w, x, y, &i, &i, &u)) + break; + } diff -Nru openbox-3.6.1/debian/patches/series openbox-3.6.1/debian/patches/series --- openbox-3.6.1/debian/patches/series 2020-03-15 17:26:18.000000000 +0100 +++ openbox-3.6.1/debian/patches/series 2021-03-18 22:11:00.000000000 +0100 @@ -22,3 +22,4 @@ 887908.patch 917204_undecorated_maximized_no_border.patch python3.patch +Fix-collision-between-iterator-and-throw-away-argume.patch