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>
diff --git a/include/vcl/sysdata.hxx b/include/vcl/sysdata.hxx
index 393116d..9c4e271 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 83dfaf3..95e1bf2 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 c571936..b19dd61 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 );