summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@digia.com>2014-01-08 11:00:03 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-24 10:57:45 +0100
commit5535b404cb32791f510193073c9d15470552129f (patch)
tree2c91fdf73fa15cbd6bc5e9c23892b2ea9fc655e5
parent4fad6da147dc85652b186c4300dfb0f6cfe29f79 (diff)
Make sure the correct position for the plugin is used when showing
When the plugin was windowed then it was always being shown at 0x0 of the containing window rather than the correct position of the plugin inside the containing window. This enesures it is placed correctly in that case. Task-number: QTBUG-31730 QTBUG-33053 QTBUG-32546 Change-Id: I5ce0321924d288437d483002e9cb6dd1c98b6863 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
-rw-r--r--Source/WebCore/plugins/win/PluginViewWin.cpp7
1 files changed, 4 insertions, 3 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());