Clone in a terminal:
Commit 60dce05
Johan Mattsson - 2014-07-07T15:15:37+00:00
60dce05d8c333d3f2cfe66dfbb0a475b3dd5c37ejohan.mattsson.m@gmail.com

Send signals from background thread in idle events

Changed files (2)

Diff

diff --git a/libbirdfont/FileTab.vala b/libbirdfont/FileTab.valaindex 2879e4e..796becb 100644--- a/libbirdfont/FileTab.vala+++ b/libbirdfont/FileTab.vala@@ -73,11 +73,18 @@ public class FileTab : FontDisplay { 		});  		dialog.signal_save.connect (() => {+			SaveCallback save_callback;+			 			if (MenuTab.suppress_event) { 				return; 			} 			-			MenuTab.save ();+			save_callback = new SaveCallback ();+			save_callback.file_saved.connect (() => {+				show_preview_tab ();+			});+			save_callback.save ();+			 			dialog.signal_discard (); 		}); 		diff --git a/libbirdfont/MenuTab.vala b/libbirdfont/MenuTab.valaindex f5ece5c..38dcb6b 100644--- a/libbirdfont/MenuTab.vala+++ b/libbirdfont/MenuTab.vala@@ -95,15 +95,30 @@ public class MenuTab : FontDisplay { 	} 	 	public static void signal_file_exported () {-		export_callback.file_exported ();+		IdleSource idle = new IdleSource ();+		idle.set_callback (() => {+			export_callback.file_exported ();+			return false;+		});+		idle.attach (null); 	} 	 	public static void signal_file_saved () {-		save_callback.file_saved ();+		IdleSource idle = new IdleSource ();+		idle.set_callback (() => {+			save_callback.file_saved ();+			return false;+		});+		idle.attach (null); 	}  	public static void signal_file_loaded () {-		load_callback.file_loaded ();+		IdleSource idle = new IdleSource ();+		idle.set_callback (() => {+			load_callback.file_loaded ();+			return false;+		});+		idle.attach (null); 	} 		 	public static void set_font_setting_from_tools (Font f) {	

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112