parent
ba51832b83
commit
fac1014f9b
@ -1,3 +1,4 @@
|
|||||||
/powerdevil-5.4.3.tar.xz
|
/powerdevil-5.4.3.tar.xz
|
||||||
/powerdevil-5.4.95.tar.xz
|
/powerdevil-5.4.95.tar.xz
|
||||||
/powerdevil-5.5.0.tar.xz
|
/powerdevil-5.5.0.tar.xz
|
||||||
|
/powerdevil-5.5.1.tar.xz
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
From dde0ecce02259a26655737e6674950e2e303bc6f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kai Uwe Broulik <kde@privat.broulik.de>
|
|
||||||
Date: Sun, 13 Dec 2015 21:15:44 +0100
|
|
||||||
Subject: [PATCH 1/2] [XRandRBrightness] Don't call for xrandr if it's not
|
|
||||||
available
|
|
||||||
|
|
||||||
Check whether the extension is available before calling into it.
|
|
||||||
|
|
||||||
REVIEW: 126146
|
|
||||||
BUG: 352462
|
|
||||||
FIXED-IN: 5.5.1
|
|
||||||
---
|
|
||||||
daemon/backends/upower/xrandrbrightness.cpp | 9 +++++++++
|
|
||||||
1 file changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/daemon/backends/upower/xrandrbrightness.cpp b/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
index 0abcefe..f899400 100644
|
|
||||||
--- a/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
+++ b/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
@@ -29,6 +29,15 @@ XRandrBrightness::XRandrBrightness()
|
|
||||||
if (!QX11Info::isPlatformX11()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ xcb_prefetch_extension_data(QX11Info::connection(), &xcb_randr_id);
|
|
||||||
+ // this reply, for once, does not need to be managed by us
|
|
||||||
+ auto *extension = xcb_get_extension_data(QX11Info::connection(), &xcb_randr_id);
|
|
||||||
+ if (!extension || !extension->present) {
|
|
||||||
+ qCWarning(POWERDEVIL) << "XRandR extension not available";
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
ScopedCPointer<xcb_randr_query_version_reply_t> versionReply(xcb_randr_query_version_reply(QX11Info::connection(),
|
|
||||||
xcb_randr_query_version(QX11Info::connection(), 1, 2),
|
|
||||||
nullptr));
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
From 284ca7af172ea94a3fb8a631b220db50f1da7b91 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kai Uwe Broulik <kde@privat.broulik.de>
|
|
||||||
Date: Sun, 13 Dec 2015 21:16:49 +0100
|
|
||||||
Subject: [PATCH 2/2] [XRandRBrightness] Cache XCB connection in variable
|
|
||||||
|
|
||||||
QX11Info::connection() is expensive
|
|
||||||
---
|
|
||||||
daemon/backends/upower/xrandrbrightness.cpp | 20 +++++++++++---------
|
|
||||||
1 file changed, 11 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/daemon/backends/upower/xrandrbrightness.cpp b/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
index f899400..586801c 100644
|
|
||||||
--- a/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
+++ b/daemon/backends/upower/xrandrbrightness.cpp
|
|
||||||
@@ -30,16 +30,18 @@ XRandrBrightness::XRandrBrightness()
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- xcb_prefetch_extension_data(QX11Info::connection(), &xcb_randr_id);
|
|
||||||
+ auto *c = QX11Info::connection();
|
|
||||||
+
|
|
||||||
+ xcb_prefetch_extension_data(c, &xcb_randr_id);
|
|
||||||
// this reply, for once, does not need to be managed by us
|
|
||||||
- auto *extension = xcb_get_extension_data(QX11Info::connection(), &xcb_randr_id);
|
|
||||||
+ auto *extension = xcb_get_extension_data(c, &xcb_randr_id);
|
|
||||||
if (!extension || !extension->present) {
|
|
||||||
qCWarning(POWERDEVIL) << "XRandR extension not available";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- ScopedCPointer<xcb_randr_query_version_reply_t> versionReply(xcb_randr_query_version_reply(QX11Info::connection(),
|
|
||||||
- xcb_randr_query_version(QX11Info::connection(), 1, 2),
|
|
||||||
+ ScopedCPointer<xcb_randr_query_version_reply_t> versionReply(xcb_randr_query_version_reply(c,
|
|
||||||
+ xcb_randr_query_version(c, 1, 2),
|
|
||||||
nullptr));
|
|
||||||
|
|
||||||
if (!versionReply) {
|
|
||||||
@@ -52,8 +54,8 @@ XRandrBrightness::XRandrBrightness()
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- ScopedCPointer<xcb_intern_atom_reply_t> backlightReply(xcb_intern_atom_reply(QX11Info::connection(),
|
|
||||||
- xcb_intern_atom (QX11Info::connection(), 1, strlen("Backlight"), "Backlight"),
|
|
||||||
+ ScopedCPointer<xcb_intern_atom_reply_t> backlightReply(xcb_intern_atom_reply(c,
|
|
||||||
+ xcb_intern_atom(c, 1, strlen("Backlight"), "Backlight"),
|
|
||||||
nullptr));
|
|
||||||
|
|
||||||
if (!backlightReply) {
|
|
||||||
@@ -68,7 +70,7 @@ XRandrBrightness::XRandrBrightness()
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
- xcb_screen_iterator_t iter = xcb_setup_roots_iterator(xcb_get_setup(QX11Info::connection()));
|
|
||||||
+ xcb_screen_iterator_t iter = xcb_setup_roots_iterator(xcb_get_setup(c));
|
|
||||||
if (!iter.rem) {
|
|
||||||
qCWarning(POWERDEVIL, "XCB Screen Roots Iterator rem was null");
|
|
||||||
return;
|
|
||||||
@@ -77,8 +79,8 @@ XRandrBrightness::XRandrBrightness()
|
|
||||||
xcb_screen_t *screen = iter.data;
|
|
||||||
xcb_window_t root = screen->root;
|
|
||||||
|
|
||||||
- m_resources.reset(xcb_randr_get_screen_resources_current_reply(QX11Info::connection(),
|
|
||||||
- xcb_randr_get_screen_resources_current(QX11Info::connection(), root)
|
|
||||||
+ m_resources.reset(xcb_randr_get_screen_resources_current_reply(c,
|
|
||||||
+ xcb_randr_get_screen_resources_current(c, root)
|
|
||||||
, nullptr));
|
|
||||||
|
|
||||||
if (!m_resources) {
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
Loading…
Reference in new issue