[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -6,7 +6,7 @@
<service name="tar_git">
<param name="url">https://github.com/mer-hybris/qt5-qpa-hwcomposer-plugin.git</param>
<param name="branch">master</param>
- <param name="revision">6b185a4a01543a4b7897ad26dea6ab0f009b27d6</param>
+ <param name="revision">1678a4b1a47fb942d211eac026464c00363efa70</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.1.0.16.tar.bz2/hwcomposer/hwcomposer_backend_v11.cpp
^
|
@@ -158,6 +158,7 @@
, hwc_list(NULL)
, hwc_mList(NULL)
, num_displays(num_displays)
+ , m_displayOff(true)
{
procs = new HwcProcs_v11();
procs->invalidate = hwc11_callback_invalidate;
@@ -314,7 +315,13 @@
void
HwComposerBackend_v11::sleepDisplay(bool sleep)
{
+ m_displayOff = sleep;
if (sleep) {
+ // Stop the timer so we don't end up calling into eventControl after the
+ // screen has been turned off. Doing so leads to logcat errors being
+ // logged.
+ m_vsyncTimeout.stop();
+
#ifdef HWC_DEVICE_API_VERSION_1_4
if (hwc_version == HWC_DEVICE_API_VERSION_1_4) {
HWC_PLUGIN_EXPECT_ZERO(hwc_device->setPowerMode(hwc_device, 0, HWC_POWER_MODE_OFF));
@@ -384,6 +391,10 @@
bool HwComposerBackend_v11::requestUpdate(QEglFSWindow *window)
{
+ // If the display is off, do updates via the normal Qt-based timer.
+ if (m_displayOff)
+ return false;
+
if (m_vsyncTimeout.isActive()) {
m_vsyncTimeout.stop();
} else {
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.1.0.16.tar.bz2/hwcomposer/hwcomposer_backend_v11.h
^
|
@@ -79,6 +79,7 @@
uint32_t hwc_version;
int num_displays;
+ bool m_displayOff;
QBasicTimer m_deliverUpdateTimeout;
QBasicTimer m_vsyncTimeout;
QSet<QWindow *> m_pendingUpdate;
|