summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2020-01-22 11:06:59 +0100
committerStephan Bergmann <sbergman@redhat.com>2020-01-23 13:06:54 +0100
commit95339c04fa242628e7b3cae3d4aecee0cb75e017 (patch)
tree9993bee29ae1cbe019255dc6c41cc307e9809ee6
parent05d8e497b3aef745a6ef21f430b4db7e3847b370 (diff)
Related tdf#126459: fix crash in presenter console using gen vclplug
A slide with video is needed to reproduce Regression from commit ac87cfdf263d2abd97b32857534d0f749b7c4479, 'toolkit' and 'platform' bits were never set (bc irrelevant) in gen vclplug but now if not set, values mapping to 0 (Gtk3, Wayland) will be used and things go down the drain in avmedia/gstplayer then Just between us girls, nobody in their right mind would use gen vclplug for presentation, but crash is not nice so let's fix this Change-Id: If318ab93897f9f4854f7316e630c35aaec2480fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87185 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 13bc1ec30c5adf05ff987c25634b845bab7bc4ae) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87237 Reviewed-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r--include/vcl/sysdata.hxx2
-rw-r--r--vcl/unx/generic/window/salframe.cxx2
-rw-r--r--vcl/unx/generic/window/salobj.cxx2
3 files changed, 5 insertions, 1 deletions
diff --git a/include/vcl/sysdata.hxx b/include/vcl/sysdata.hxx
index 393116d98c70..9c4e271a2963 100644
--- a/include/vcl/sysdata.hxx
+++ b/include/vcl/sysdata.hxx
@@ -61,7 +61,7 @@ struct SystemEnvData
#elif defined( IOS )
// Nothing
#elif defined( UNX )
- enum class Toolkit { Gtk3, Qt5 };
+ enum class Toolkit { Gtk3, Qt5, Gen };
enum class Platform { Wayland, Xcb };
void* pDisplay; // the relevant display connection
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index 83dfaf35e434..95e1bf2f23b8 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -955,6 +955,8 @@ const SystemEnvData* X11SalFrame::GetSystemData() const
pFrame->maSystemChildData.pVisual = GetDisplay()->GetVisual( m_nXScreen ).GetVisual();
pFrame->maSystemChildData.nScreen = m_nXScreen.getXScreen();
pFrame->maSystemChildData.aShellWindow = pFrame->GetShellWindow();
+ pFrame->maSystemChildData.toolkit = SystemEnvData::Toolkit::Gen;
+ pFrame->maSystemChildData.platform = SystemEnvData::Platform::Xcb;
return &maSystemChildData;
}
diff --git a/vcl/unx/generic/window/salobj.cxx b/vcl/unx/generic/window/salobj.cxx
index c5719362af3d..b19dd61fa3de 100644
--- a/vcl/unx/generic/window/salobj.cxx
+++ b/vcl/unx/generic/window/salobj.cxx
@@ -225,6 +225,8 @@ X11SalObject::X11SalObject()
maSystemChildData.pWidget = nullptr;
maSystemChildData.pVisual = nullptr;
maSystemChildData.aShellWindow = 0;
+ maSystemChildData.toolkit = SystemEnvData::Toolkit::Gen;
+ maSystemChildData.platform = SystemEnvData::Platform::Xcb;
std::list< SalObject* >& rObjects = vcl_sal::getSalDisplay(GetGenericUnixSalData())->getSalObjects();
rObjects.push_back( this );