mirror of
https://github.com/clementine-player/Clementine
synced 2024-12-18 04:19:55 +01:00
Add patch to fix event starving issue present in Qt 4.7tp1.
Qt commit: d22afdb8cf
Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-7502
This commit is contained in:
parent
c751247f6c
commit
0d8019de0d
37
3rdparty/d22afdb8cf874aae3c5593f6108d4c7897a8ac20.diff
vendored
Normal file
37
3rdparty/d22afdb8cf874aae3c5593f6108d4c7897a8ac20.diff
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
--- a/src/gui/graphicsview/qgraphicsview_p.h
|
||||
+++ b/src/gui/graphicsview/qgraphicsview_p.h
|
||||
@@ -183,8 +183,12 @@
|
||||
else
|
||||
QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
|
||||
#else
|
||||
- QCoreApplication::processEvents(QEventLoop::AllEvents | QEventLoop::ExcludeSocketNotifiers
|
||||
- | QEventLoop::ExcludeUserInputEvents);
|
||||
+ // At this point either HIViewSetNeedsDisplay (Carbon) or setNeedsDisplay: YES (Cocoa)
|
||||
+ // is called, which means there's a pending update request. We want to dispatch it
|
||||
+ // now because otherwise graphics view updates would require two
|
||||
+ // round-trips in the event loop before the item is painted.
|
||||
+ extern void qt_mac_dispatchPendingUpdateRequests(QWidget *);
|
||||
+ qt_mac_dispatchPendingUpdateRequests(viewport->window());
|
||||
#endif
|
||||
}
|
||||
|
||||
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
|
||||
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
|
||||
@@ -1167,6 +1167,17 @@
|
||||
return context;
|
||||
}
|
||||
|
||||
+void qt_mac_dispatchPendingUpdateRequests(QWidget *widget)
|
||||
+{
|
||||
+ if (!widget)
|
||||
+ return;
|
||||
+#ifndef QT_MAC_USE_COCOA
|
||||
+ HIViewRender(qt_mac_nativeview_for(widget));
|
||||
+#else
|
||||
+ [qt_mac_nativeview_for(widget) displayIfNeeded];
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
CGFloat qt_mac_get_scalefactor()
|
||||
{
|
||||
#ifndef QT_MAC_USE_COCOA
|
Loading…
Reference in New Issue
Block a user