diff options
Diffstat (limited to 'xulrunner-qt/firefox-qt.patch')
-rw-r--r-- | xulrunner-qt/firefox-qt.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/xulrunner-qt/firefox-qt.patch b/xulrunner-qt/firefox-qt.patch new file mode 100644 index 0000000..ff4c263 --- /dev/null +++ b/xulrunner-qt/firefox-qt.patch @@ -0,0 +1,43 @@ +diff -ur mozilla-1.9.2.orig/widget/src/qt/nsWindow.cpp mozilla-1.9.2/widget/src/qt/nsWindow.cpp +--- mozilla-1.9.2.orig/widget/src/qt/nsWindow.cpp ++++ mozilla-1.9.2/widget/src/qt/nsWindow.cpp +@@ -668,7 +668,7 @@ + + void + nsWindow::Scroll(const nsIntPoint& aDelta, +- const nsIntRect& aSource, ++ const nsTArray<nsIntRect>& aDestRects, + const nsTArray<nsIWidget::Configuration>& aConfigurations) + { + if (!mWidget) { +@@ -695,8 +695,16 @@ + } + } + +- QRect rect(aSource.x, aSource.y, aSource.width, aSource.height); +- mWidget->scroll(aDelta.x, aDelta.y, rect); ++ // Do a similar thing to what is done in GTK widget set. ++ // Even though it's a workaround from old GTK? ++ for(PRUint32 i = 0; i < aDestRects.Length(); ++i) { ++ const nsIntRect& aSource = aDestRects[i]; ++ ++ QRect rect(aSource.x, aSource.y, aSource.width, aSource.height); ++ mWidget->scroll(aDelta.x, aDelta.y, rect); ++ } ++ ++ + ConfigureChildren(aConfigurations); + + // Show windows again... +diff -ur mozilla-1.9.2.orig/widget/src/qt/nsWindow.h mozilla-1.9.2/widget/src/qt/nsWindow.h +--- mozilla-1.9.2.orig/widget/src/qt/nsWindow.h ++++ mozilla-1.9.2/widget/src/qt/nsWindow.h +@@ -165,7 +165,7 @@ + PRBool aIsSynchronous); + NS_IMETHOD Update(); + void Scroll(const nsIntPoint&, +- const nsIntRect&, ++ const nsTArray<nsIntRect>&, + const nsTArray<nsIWidget::Configuration>&); + + virtual void* GetNativeData(PRUint32 aDataType); |