[Libreoffice-commits] core.git: ucb/Library_ucpgio1.mk ucb/source

Stephan Bergmann sbergman at redhat.com
Thu Sep 26 13:31:47 PDT 2013


 ucb/Library_ucpgio1.mk             |    1 +
 ucb/source/ucp/gio/gio_content.cxx |   11 ++++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 2eb36dc4b846ab5886ae71fd2978b56b2a2d1d08
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Sep 26 22:30:11 2013 +0200

    Hack to not leave SolarMutex released after g_main_loop_run call
    
    Change-Id: I26923469d08308233ce3fabe749806c16d75cecd

diff --git a/ucb/Library_ucpgio1.mk b/ucb/Library_ucpgio1.mk
index eb39c8e..000f557 100644
--- a/ucb/Library_ucpgio1.mk
+++ b/ucb/Library_ucpgio1.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_Library_use_libraries,ucpgio1,\
 	sal \
 	salhelper \
 	ucbhelper \
+	vcl \
 ))
 
 $(eval $(call gb_Library_use_externals,ucpgio1,\
diff --git a/ucb/source/ucp/gio/gio_content.cxx b/ucb/source/ucp/gio/gio_content.cxx
index 8621782..f7ce5f9 100644
--- a/ucb/source/ucp/gio/gio_content.cxx
+++ b/ucb/source/ucp/gio/gio_content.cxx
@@ -62,6 +62,7 @@
 #include <ucbhelper/propertyvalueset.hxx>
 #include <ucbhelper/interactionrequest.hxx>
 #include <ucbhelper/cancelcommandexecution.hxx>
+#include <vcl/svapp.hxx>
 
 #include <osl/conditn.hxx>
 
@@ -325,7 +326,15 @@ void MountOperation::Completed(GObject *source, GAsyncResult *res, gpointer user
 GError *MountOperation::Mount(GFile *pFile)
 {
     g_file_mount_enclosing_volume(pFile, G_MOUNT_MOUNT_NONE, mpAuthentication, NULL, MountOperation::Completed, this);
-    g_main_loop_run(mpLoop);
+    {
+        //HACK: At least the gdk_threads_set_lock_functions(GdkThreadsEnter,
+        // GdkThreadsLeave) call in vcl/unx/gtk/app/gtkinst.cxx will lead to
+        // GdkThreadsLeave unlock the SolarMutex down to zero at the end of
+        // g_main_loop_run, so we need ~SolarMutexReleaser to raise it back to
+        // the original value again:
+        SolarMutexReleaser rel;
+        g_main_loop_run(mpLoop);
+    }
     return mpError;
 }
 


More information about the Libreoffice-commits mailing list