[Libreoffice-commits] core.git: Branch 'feature/qt5-win' - Repository.mk vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_win.mk vcl/qt5 vcl/win

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Sep 11 14:06:18 UTC 2018


 Repository.mk                 |    2 +-
 vcl/Library_vclplug_qt5.mk    |    8 ++++----
 vcl/Library_vclplug_win.mk    |    2 +-
 vcl/qt5/Qt5Data.cxx           |   12 ++++++++++--
 vcl/win/gdi/salprn.cxx        |    7 ++++++-
 vcl/win/plugadapt/salplug.cxx |   15 ---------------
 6 files changed, 22 insertions(+), 24 deletions(-)

New commits:
commit 2c11cfad90e2e394bd6c23e17c8c82d0c991e6e7
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Tue Sep 11 14:02:22 2018 +0200
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Tue Sep 11 16:02:34 2018 +0200

    First working version with qt5 on Windows
    
    Change-Id: I22846705c65209b796a4d4a1baaa3832c27eeb3e

diff --git a/Repository.mk b/Repository.mk
index 3076c6a55aab..260310dd54af 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -476,6 +476,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,OOOLIBS,ooo, \
 		ado \
 		oleautobridge \
 		smplmail \
+        $(if $(ENABLE_QT5),vclplug_qt5) \
 		vclplug_win \
 		wininetbe1 \
 	) \
@@ -653,7 +654,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
 		inprocserv \
 		UAccCOM \
 		winaccessibility \
-        $(if $(ENABLE_QT5),vclplug_qt5) \
 	) \
 ))
 
diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk
index c46856d5db9f..782bea8707a9 100644
--- a/vcl/Library_vclplug_qt5.mk
+++ b/vcl/Library_vclplug_qt5.mk
@@ -35,7 +35,7 @@ $(eval $(call gb_Library_use_sdk_api,vclplug_qt5))
 
 $(eval $(call gb_Library_use_libraries,vclplug_qt5,\
     $(if $(USING_X11),vclplug_gen) \
-	$(if $(filter WNT,$(OS)),vclplug_win) \
+    $(if $(filter WNT,$(OS)),vclplug_win) \
     vcl \
     tl \
     utl \
@@ -107,9 +107,9 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt5,\
 
 ifeq ($(OS),LINUX)
 $(eval $(call gb_Library_add_libs,vclplug_qt5,\
-	-lm \
-	-ldl \
-	-lpthread \
+    -lm \
+    -ldl \
+    -lpthread \
 ))
 endif
 
diff --git a/vcl/Library_vclplug_win.mk b/vcl/Library_vclplug_win.mk
index f26e0afa390c..587f5c02f32b 100644
--- a/vcl/Library_vclplug_win.mk
+++ b/vcl/Library_vclplug_win.mk
@@ -64,7 +64,7 @@ $(eval $(call gb_Library_use_libraries,vclplug_win,\
 $(eval $(call gb_Library_use_externals,vclplug_win,\
     boost_headers \
     epoxy \
-	glm_headers \
+    glm_headers \
     graphite \
     harfbuzz \
     icu_headers \
diff --git a/vcl/qt5/Qt5Data.cxx b/vcl/qt5/Qt5Data.cxx
index b01e969f8296..50175c79758a 100644
--- a/vcl/qt5/Qt5Data.cxx
+++ b/vcl/qt5/Qt5Data.cxx
@@ -149,14 +149,22 @@
 #include <unx/x11_cursors/wsshow_curs.h>
 #include <unx/x11_cursors/wsshow_mask.h>
 
-// #include <unx/glyphcache.hxx>
+#ifndef _WIN32
+#include <unx/glyphcache.hxx>
+#endif
 
-Qt5Data::Qt5Data(SalInstance* /* pInstance */)
+Qt5Data::Qt5Data(SalInstance* pInstance)
 #ifndef _WIN32
     : GenericUnixSalData(SAL_DATA_QT5, pInstance)
     , m_pGlyphCache(new GlyphCache())
+#else
+    : SalData()
 #endif
 {
+#ifdef _WIN32
+    m_pInstance = pInstance;
+    SetSalData(this);
+#endif
     ImplSVData* pSVData = ImplGetSVData();
 
     // draw toolbars on separate lines
diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx
index 4e2b7788ce05..119f27c20b44 100644
--- a/vcl/win/gdi/salprn.cxx
+++ b/vcl/win/gdi/salprn.cxx
@@ -1287,6 +1287,7 @@ BOOL CALLBACK SalPrintAbortProc( HDC hPrnDC, int /* nError */ )
 {
     SalData*    pSalData = GetSalData();
     WinSalPrinter* pPrinter;
+    int         i = 0;
     bool        bWhile = true;
 
     // Ensure we handle the mutex which will be released in WinSalInstance::DoYield
@@ -1295,6 +1296,10 @@ BOOL CALLBACK SalPrintAbortProc( HDC hPrnDC, int /* nError */ )
     {
         // process messages
         bWhile = Application::Reschedule( true );
+        if (i > 15)
+            bWhile = false;
+        else
+            ++i;
 
         pPrinter = pSalData->mpFirstPrinter;
         while ( pPrinter )
@@ -1457,7 +1462,7 @@ bool WinSalPrinter::StartJob( const OUString* pFileName,
 
     // As the Telecom Balloon Fax driver tends to send messages repeatedly
     // we try to process first all, and then insert a dummy message
-    while ( Application::Reschedule( true ) );
+    for (int i = 0; Application::Reschedule( true ) && i <= 15; ++i);
     BOOL const ret = PostMessageW(GetSalData()->mpInstance->mhComWnd, SAL_MSG_DUMMY, 0, 0);
     SAL_WARN_IF(0 == ret, "vcl", "ERROR: PostMessage() failed!");
 
diff --git a/vcl/win/plugadapt/salplug.cxx b/vcl/win/plugadapt/salplug.cxx
index 17124cc23e98..706d3564a367 100644
--- a/vcl/win/plugadapt/salplug.cxx
+++ b/vcl/win/plugadapt/salplug.cxx
@@ -83,21 +83,6 @@ static SalInstance* tryInstance( const OUString& rModuleBase, bool bForce = fals
             {
                 pCloseModule = static_cast<oslModule>(aMod);
                 aMod.release();
-
-#ifndef ANDROID
-                /*
-                 * Recent GTK+ versions load their modules with RTLD_LOCAL, so we can
-                 * not access the 'gnome_accessibility_module_shutdown' anymore.
-                 * So make sure libgtk+ & co are still mapped into memory when
-                 * atk-bridge's atexit handler gets called.
-                 * #i109007# KDE3 seems to have the same problem.
-                 * And same applies for KDE4.
-                 */
-                if( rModuleBase == "gtk" || rModuleBase == "gtk3" || rModuleBase == "kde4" || rModuleBase == "gtk3_kde5")
-                {
-                    pCloseModule = nullptr;
-                }
-#endif
             }
         }
         else


More information about the Libreoffice-commits mailing list