[Libreoffice-commits] core.git: include/vcl vcl/unx

Katarina Behrens (via logerrit) logerrit at kemper.freedesktop.org
Thu Jan 23 08:10:50 UTC 2020


 include/vcl/sysdata.hxx             |    2 +-
 vcl/unx/generic/window/salframe.cxx |    2 ++
 vcl/unx/generic/window/salobj.cxx   |    2 ++
 3 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 13bc1ec30c5adf05ff987c25634b845bab7bc4ae
Author:     Katarina Behrens <Katarina.Behrens at cib.de>
AuthorDate: Wed Jan 22 11:06:59 2020 +0100
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Thu Jan 23 09:10:15 2020 +0100

    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 at redhat.com>

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 );


More information about the Libreoffice-commits mailing list