[Qttabbar-Commit] SF.net SVN: qttabbar:[438] branches/desktoptool
Status: Beta
Brought to you by:
masamunexgp
From: <mas...@us...> - 2012-05-23 03:20:38
|
Revision: 438 http://qttabbar.svn.sourceforge.net/qttabbar/?rev=438&view=rev Author: masamunexgp Date: 2012-05-23 03:20:32 +0000 (Wed, 23 May 2012) Log Message: ----------- Merged changed from trunk Modified Paths: -------------- branches/desktoptool/QTTabBar/HookLibManager.cs branches/desktoptool/QTTabBar/InstanceManager.cs Property Changed: ---------------- branches/desktoptool/ Property changes on: branches/desktoptool ___________________________________________________________________ Modified: svn:mergeinfo - /branches/b1:63-72 /branches/options:267-400 /branches/qtservice:406-418 + /branches/b1:63-72 /branches/options:267-400 /branches/qtservice:406-418 /trunk:422-437 Modified: branches/desktoptool/QTTabBar/HookLibManager.cs =================================================================== --- branches/desktoptool/QTTabBar/HookLibManager.cs 2012-05-21 03:03:16 UTC (rev 437) +++ branches/desktoptool/QTTabBar/HookLibManager.cs 2012-05-23 03:20:32 UTC (rev 438) @@ -132,7 +132,7 @@ } IDL = wrapper.IDL; } - InstanceManager.InvokeMain(tabbar => { + InstanceManager.BeginInvokeMain(tabbar => { using(IDLWrapper wrapper = new IDLWrapper(IDL)) { tabbar.OpenNewTabOrWindow(wrapper, true); } Modified: branches/desktoptool/QTTabBar/InstanceManager.cs =================================================================== --- branches/desktoptool/QTTabBar/InstanceManager.cs 2012-05-21 03:03:16 UTC (rev 437) +++ branches/desktoptool/QTTabBar/InstanceManager.cs 2012-05-23 03:20:32 UTC (rev 438) @@ -388,15 +388,21 @@ } public static void BeginInvokeMain(Action<QTTabBarClass> action) { - ExecuteOnMainProcess(() => LocalInvokeMain(action), true); + ExecuteOnMainProcess(() => LocalInvokeMain(action, true), true); } - public static void LocalInvokeMain(Action<QTTabBarClass> action) { + public static void LocalInvokeMain(Action<QTTabBarClass> action, bool async = false) { QTTabBarClass instance; using(new Keychain(rwLockTabBar, false)) { instance = sdTabHandles.Count == 0 ? null : sdTabHandles.Peek(); } - if(instance != null) instance.Invoke(action, instance); + if(instance == null) return; + if(async) { + instance.BeginInvoke(action, instance); + } + else { + instance.Invoke(action, instance); + } } public static void RegisterButtonBar(QTButtonBar bbar) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |