Merge pull request #1803 from hbons/fix/linux-main-loop
Fix/linux main loop
This commit is contained in:
commit
06a16ff44a
|
@ -45,6 +45,9 @@ namespace SparkleShare
|
|||
|
||||
public UserInterface ()
|
||||
{
|
||||
string gtk_version = string.Format ("{0}.{1}.{2}", Global.MajorVersion, Global.MinorVersion, Global.MicroVersion);
|
||||
Logger.LogInfo ("Environment", "GTK+ " + gtk_version);
|
||||
|
||||
application = new Application ("org.sparkleshare.SparkleShare", GLib.ApplicationFlags.None);
|
||||
|
||||
application.Register (null);
|
||||
|
@ -69,17 +72,18 @@ namespace SparkleShare
|
|||
|
||||
public void Run (string [] args)
|
||||
{
|
||||
// FIXME: Hack to cover API differences between Ubuntu and latest GNOME
|
||||
if (InstallationInfo.OperatingSystem == OS.Ubuntu) {
|
||||
#if HAVE_APP_INDICATOR
|
||||
(application as GLib.Application).Run (0, null);
|
||||
#endif
|
||||
MethodInfo run_method = typeof (GLib.Application).GetMethod ("Run");
|
||||
ParameterInfo [] run_parameters = run_method.GetParameters ();
|
||||
|
||||
// Use the right Run method arguments depending on the installed GTK bindings
|
||||
if (run_parameters [0].ParameterType == typeof (System.Int32) &&
|
||||
run_parameters [1].ParameterType == typeof (System.String)) {
|
||||
|
||||
run_method.Invoke ((application as GLib.Application), new object [] { 0, null });
|
||||
|
||||
} else {
|
||||
#if HAVE_APP_INDICATOR
|
||||
#else
|
||||
(application as GLib.Application).Run ("org.sparkleshare.SparkleShare", new string [0]);
|
||||
#endif
|
||||
}
|
||||
run_method.Invoke ((application as GLib.Application), new object [] { "org.sparkleshare.SparkleShare", new string [0] });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue