GNOME Bugzilla – Bug 555318
Panel applet fails to load with gnome-sharp < 2.23.90
Last modified: 2008-10-07 07:13:17 UTC
0. Uninstall gnome-panel-devel (or whatever provides libpanel-applet dev files to you), make sure you are using gnome-sharp < 2.23.90 1. Install Tomboy 0.12.0. 2. Run tomboy-panel (or try to add Tomboy to panel). Expected results: Tomboy runs (adds to panel, whatever). Actual results: tomboy-panel crashes with this error: Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for Gnome.PanelApplet ---> System.DllNotFoundException: panel-applet-2 at (wrapper managed-to-native) Gnome.PanelApplet:panel_applet_get_type () at Gnome.PanelApplet.get_GType () [0x00000] at GtkSharp.GnomeSharp.ObjectManager.Initialize () [0x00000] at Gnome.PanelApplet..cctor () [0x00000] --- End of inner exception stack trace --- at Tomboy.TomboyApplet..ctor (IntPtr raw) [0x00000] at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[]) at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] --- End of inner exception stack trace --- at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00000] at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture) [0x00000] at Gnome.PanelAppletFactory.Register (System.Type applet_type) [0x00000] at Tomboy.Tomboy.RegisterPanelAppletFactory () [0x00000] at Tomboy.Tomboy.Main (System.String[] args) [0x00000]
Created attachment 120069 [details] [review] Bring back old bundled gnome-sharp panel applet code if building against older gnome-sharp As part of fixing bug #548836, I stopped bundling the gnome-sharp panel applet code. Unfortunately, gnome-sharp < 2.23.90 has a bug where there is a missing DllMap for libpanel-applet. With the right devel files installed, this is unnoticeable, which explains why it's gone unnoticed for over a month, as most users mixing Tomboy 0.12.0 with the older gnome-sharp are building it themselves. I've attached a patch that brings back the bundled code if Tomboy is being built against gnome-sharp < 2.23.90. After a bit more testing, I'll roll a 0.12.1 release to address this.
I noticed that Ubuntu patches gnome-sharp to have the correct DllMap already, so Tomboy 0.12.0 works fine in the Intrepid Ibex beta VM I have (which happens to ship gnome-sharp 2.20). So, if they take in a "pure" 0.12.1, they'll be unnecessarily bundling this panel applet code. This is probably true for a lot of distros. I'm not too concerned about it because we only unbundled the code in 0.11.3 (a little over a month ago). If distros want to patch Tomboy >= 0.12.1 *not* to bundle (because they also already patch and ship gnome-sharp < 2.23.90), that's fine by me, I'll still be happy to support that distribution of Tomboy.
Created attachment 120091 [details] [review] Add issing comma Finally got a chance to test on a distro that ships gnome-sharp 2.24 (openSUSE 11.1 beta), and after fixing a little typo this patch seems ready to go.
Committed to branch in r2200. Still need to commit to trunk.
Committed to trunk in r2204.