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 09:10:15 +0100
commit13bc1ec30c5adf05ff987c25634b845bab7bc4ae (patch)
treed0d74dc5e4a18a89b86046d978f36649179e7297
parent9b4ab9bda41a818832c721933986c9c6e07a6e6c (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>
-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 41277c5b9587..89122f51c75d 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 0275d1e053d2..b618ab8c8a7a 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -956,6 +956,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 );