diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-01-25 20:59:58 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-01-27 13:39:31 +0100 |
commit | ac9789dbb36f45dcc1caf7dd2951353b1574c8ea (patch) | |
tree | 320145e75c0b59160f7c255641dafaf9e5c6a881 /toolkit | |
parent | 89516b2be525a01862eacdef2276f0699ed87e3d (diff) |
tdf#139609 avoid fetching unnecessary xid under gtk3
because of the side effects
using a bare GtkGrid as m_pSocket in vcl/unx/gtk3/gtk3gtkobject.cxx
is perhaps a poor choice, getting its xid causes poor side effects
wrt events belonging to its child widgets getting delivered to
the SalFrame widget, so duplicate scrolling after showing a opengl
slide and/or showing a video and lots of flickering
we're (generally at least) not using the xid under gtk3 so don't set it
unless it's explicitly asked for. Happily the gtk Player::createPlayerWindow
doesn't use its arg[0] xid in any case, so don't bother setting it for
that backend.
Change-Id: I1c59a607a332635091782c3b49de10647558f301
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109941
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
and...
use an accessor for SystemEnvData::aWindow
with an eye to making it on-demand
Change-Id: If6cefd68a336dc6afe23591c857bd71034215b54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109929
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110005
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/awt/vclxsystemdependentwindow.cxx | 2 | ||||
-rw-r--r-- | toolkit/source/awt/vclxtopwindow.cxx | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/toolkit/source/awt/vclxsystemdependentwindow.cxx b/toolkit/source/awt/vclxsystemdependentwindow.cxx index 2c53edf19b27..37d7f86d9d58 100644 --- a/toolkit/source/awt/vclxsystemdependentwindow.cxx +++ b/toolkit/source/awt/vclxsystemdependentwindow.cxx @@ -102,7 +102,7 @@ css::uno::Any VCLXSystemDependentWindow::getWindowHandle( const css::uno::Sequen { css::awt::SystemDependentXWindow aSD; aSD.DisplayPointer = sal::static_int_cast< sal_Int64 >(reinterpret_cast< sal_IntPtr >(pSysData->pDisplay)); - aSD.WindowHandle = pSysData->aWindow; + aSD.WindowHandle = pSysData->GetWindowHandle(pWindow->ImplGetFrame()); aRet <<= aSD; } #endif diff --git a/toolkit/source/awt/vclxtopwindow.cxx b/toolkit/source/awt/vclxtopwindow.cxx index e9fcd2450904..196e4a03ac5a 100644 --- a/toolkit/source/awt/vclxtopwindow.cxx +++ b/toolkit/source/awt/vclxtopwindow.cxx @@ -79,7 +79,7 @@ css::uno::Any VCLXTopWindow::getWindowHandle( const css::uno::Sequence< sal_Int8 { css::awt::SystemDependentXWindow aSD; aSD.DisplayPointer = sal::static_int_cast< sal_Int64 >(reinterpret_cast< sal_IntPtr >(pSysData->pDisplay)); - aSD.WindowHandle = pSysData->aWindow; + aSD.WindowHandle = pSysData->GetWindowHandle(pWindow->ImplGetFrame()); aRet <<= aSD; } #endif |