equal
deleted
inserted
replaced
2156 endif |
2156 endif |
2157 diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp |
2157 diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp |
2158 new file mode 100644 |
2158 new file mode 100644 |
2159 --- /dev/null |
2159 --- /dev/null |
2160 +++ b/toolkit/xre/nsKDEUtils.cpp |
2160 +++ b/toolkit/xre/nsKDEUtils.cpp |
2161 @@ -0,0 +1,334 @@ |
2161 @@ -0,0 +1,328 @@ |
2162 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
2162 +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
2163 +/* ***** BEGIN LICENSE BLOCK ***** |
2163 +/* ***** BEGIN LICENSE BLOCK ***** |
2164 + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
2164 + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
2165 + * |
2165 + * |
2166 + * The contents of this file are subject to the Mozilla Public License Version |
2166 + * The contents of this file are subject to the Mozilla Public License Version |
2356 + |
2356 + |
2357 +bool nsKDEUtils::internalCommand( const nsCStringArray& command, const GtkWindow* parent, bool blockUi, |
2357 +bool nsKDEUtils::internalCommand( const nsCStringArray& command, const GtkWindow* parent, bool blockUi, |
2358 + nsCStringArray* output ) |
2358 + nsCStringArray* output ) |
2359 + { |
2359 + { |
2360 + if( !startHelper()) |
2360 + if( !startHelper()) |
2361 + return false; |
|
2362 + // if Gtk has meanwhile gotten a grab (bnc#555202, somehow the file dialog |
|
2363 + // is called with a delay), then do not do anything, as this app would keep |
|
2364 + // the grabs but block waiting for the helper, which would be unable to do |
|
2365 + // anything because of the grab |
|
2366 + if( blockUi && gdk_pointer_is_grabbed()) |
|
2367 + return false; |
2361 + return false; |
2368 + feedCommand( command ); |
2362 + feedCommand( command ); |
2369 + // do not store the data in 'this' but in extra structure, just in case there |
2363 + // do not store the data in 'this' but in extra structure, just in case there |
2370 + // is reentrancy (can there be? the event loop is re-entered) |
2364 + // is reentrancy (can there be? the event loop is re-entered) |
2371 + nsKDECommandData data; |
2365 + nsKDECommandData data; |