summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-27 19:02:59 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-27 19:58:09 +0100
commit606b4389a6dc188d1054259d5bf180d2345b9434 (patch)
tree52bb2f95905f1d1061836ebaf915a4f3164a8635
parent90c8d1ac47d9f31dcd3301f185b7659235bb35d4 (diff)
parent7f896c9019e6fc802adc09333da90c112fe3859b (diff)
downloadqtwebkit-606b4389a6dc188d1054259d5bf180d2345b9434.tar.gz
Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev
-rw-r--r--Source/WebCore/plugins/win/PluginViewWin.cpp7
-rw-r--r--Tools/qmake/mkspecs/features/unix/default_post.prf29
2 files changed, 27 insertions, 9 deletions
diff --git a/Source/WebCore/plugins/win/PluginViewWin.cpp b/Source/WebCore/plugins/win/PluginViewWin.cpp
index d1f99bed7..fd03ac7fa 100644
--- a/Source/WebCore/plugins/win/PluginViewWin.cpp
+++ b/Source/WebCore/plugins/win/PluginViewWin.cpp
@@ -454,7 +454,6 @@ void PluginView::updatePluginWidget()
#endif
m_clipRect = windowClipRect();
m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
-
if (platformPluginWidget() && (!m_haveUpdatedPluginWidget || m_windowRect != oldWindowRect || m_clipRect != oldClipRect)) {
HRGN rgn;
@@ -473,8 +472,10 @@ void PluginView::updatePluginWidget()
::SetWindowRgn(platformPluginWidget(), rgn, TRUE);
}
- if (!m_haveUpdatedPluginWidget || m_windowRect != oldWindowRect)
- ::MoveWindow(platformPluginWidget(), m_windowRect.x(), m_windowRect.y(), m_windowRect.width(), m_windowRect.height(), TRUE);
+ if (!m_haveUpdatedPluginWidget || m_windowRect != oldWindowRect) {
+ IntRect nativeWindowRect = contentsToNativeWindow(frameView, frameRect());
+ ::MoveWindow(platformPluginWidget(), nativeWindowRect.x(), nativeWindowRect.y(), nativeWindowRect.width(), nativeWindowRect.height(), TRUE);
+ }
if (clipToZeroRect) {
rgn = ::CreateRectRgn(m_clipRect.x(), m_clipRect.y(), m_clipRect.maxX(), m_clipRect.maxY());
diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf
index 2df72d909..79b72087c 100644
--- a/Tools/qmake/mkspecs/features/unix/default_post.prf
+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf
@@ -12,10 +12,27 @@ linux-g++*:isEqual(QT_ARCH,i386) {
QMAKE_CFLAGS += -march=pentium4 -msse2 -mfpmath=sse
QMAKE_CXXFLAGS += -march=pentium4 -msse2 -mfpmath=sse
}
+}
- # Use the stabs format for 32 bit debug builds to make the object files a bit smaller.
- QMAKE_CXXFLAGS_DEBUG -= -g
- QMAKE_CXXFLAGS_DEBUG += -gstabs
+*g++* {
+ # Use DWARF-4 optimally with GCC 4.8+, otherwise use STABS which uses much less memory.
+ greaterThan(QT_GCC_MAJOR_VERSION, 4)|greaterThan(QT_GCC_MINOR_VERSION, 7) {
+ QMAKE_CXXFLAGS_DEBUG += -fdebug-types-section
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -fdebug-types-section
+ separate_debug_info: QMAKE_CXXFLAGS_RELEASE += -fdebug-types-section
+ QMAKE_LFLAGS += -fdebug-types-section
+ } else {
+ # If DWARF-2 is desired -feliminate-dwarf2-dups can be used with GCC 4.7,
+ # but it causes internal compiler errors in older versions of GCC.
+ QMAKE_CXXFLAGS_DEBUG -= -g
+ QMAKE_CXXFLAGS_DEBUG += -gstabs
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -g
+ QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gstabs
+ separate_debug_info {
+ QMAKE_CXXFLAGS_RELEASE -= -g
+ QMAKE_CXXFLAGS_RELEASE += -gstabs
+ }
+ }
}
linux-*g++* {
@@ -43,9 +60,9 @@ linux-*g++* {
contains(TEMPLATE, app): CONFIG += rpath
-isEqual(QT_ARCH,i386):CONFIG(debug, debug|release) {
- # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
- config_gnuld: QMAKE_LFLAGS += -Wl,--no-keep-memory
+CONFIG(debug, debug|release)|force_debug_info|separate_debug_info {
+ # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
+ !force_static_libs_as_shared:config_gnuld: QMAKE_LFLAGS += -Wl,--no-keep-memory
}
load(default_post)