[arch-commits] Commit in monodevelop/trunk (PKGBUILD monodevelop_gnome3.patch)

Daniel Isenmann daniel at archlinux.org
Tue Apr 12 16:06:26 UTC 2011


    Date: Tuesday, April 12, 2011 @ 12:06:26
  Author: daniel
Revision: 119605

upgpkg: monodevelop 2.4.2-2
Fixed FS#23649 - [Monodevelop] Unhandled Exception on Startup

Added:
  monodevelop/trunk/monodevelop_gnome3.patch
Modified:
  monodevelop/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   13 +++--
 monodevelop_gnome3.patch |  101 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-04-12 16:02:53 UTC (rev 119604)
+++ PKGBUILD	2011-04-12 16:06:26 UTC (rev 119605)
@@ -4,22 +4,25 @@
 
 pkgname=monodevelop
 pkgver=2.4.2
-pkgrel=1
+pkgrel=2
 pkgdesc="An IDE primarily designed for C# and other .NET languages"
 arch=('i686' 'x86_64')
 url="http://www.monodevelop.org"
 license=('GPL')
-depends=('mono>=2.8.2' 'mono-addins>=0.5' 'gnome-sharp' 'gecko-sharp-2.0>=0.10' 'gnome-desktop-sharp')
-options=(!makeflags force)
+depends=('mono>=2.10.1' 'mono-addins>=0.5' 'gnome-sharp' 'gecko-sharp-2.0>=0.10')
+options=(!makeflags)
 install=monodevelop.install
-source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('05d20deada26a115418cb1b4526b8d15')
+source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+	monodevelop_gnome3.patch)
+md5sums=('05d20deada26a115418cb1b4526b8d15'
+         'fd011f41af212fe87fb9997ebf074188')
 
 build() {
   export MONO_SHARED_DIR=$srcdir/src/.wabi
   mkdir -p $MONO_SHARED_DIR
 
   cd $srcdir/$pkgname-$pkgver
+  patch -p1 < ${srcdir}/monodevelop_gnome3.patch || return 1
   ./configure --prefix=/usr --disable-update-mimedb --disable-update-desktopdb
   make || return 1
 }

Added: monodevelop_gnome3.patch
===================================================================
--- monodevelop_gnome3.patch	                        (rev 0)
+++ monodevelop_gnome3.patch	2011-04-12 16:06:26 UTC (rev 119605)
@@ -0,0 +1,101 @@
+diff --git a/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs b/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
+index 4d8954c..e1a1937 100644
+--- a/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
++++ b/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
+@@ -1,5 +1,6 @@
+ using System;
+ using System.Collections;
++using System.Collections.Generic;
+ 
+ namespace Stetic.Wrapper {
+ 	public abstract class Object : Stetic.ObjectWrapper {
+@@ -11,17 +12,32 @@ namespace Stetic.Wrapper {
+ 			((GLib.Object)Wrapped).RemoveNotification (NotifyHandler);
+ 			base.Dispose ();
+ 		}
+-
++		
++		IEnumerable<string> GladePropertyNames {
++			get {
++				foreach (ItemGroup group in ClassDescriptor.ItemGroups) {
++					foreach (ItemDescriptor item in group) {
++						TypedPropertyDescriptor prop = item as TypedPropertyDescriptor;
++						if (prop != null && !string.IsNullOrEmpty (prop.GladeName)) {
++							yield return prop.GladeName;
++						}
++					}
++				}
++			}
++		}
++		
+ 		internal protected override void OnDesignerAttach (IDesignArea designer)
+ 		{
+ 			base.OnDesignerAttach (designer);
+-			((GLib.Object)Wrapped).AddNotification (NotifyHandler);
++			foreach (string property in GladePropertyNames)
++				((GLib.Object)Wrapped).AddNotification (property, NotifyHandler);
+ 		}
+ 		
+ 		internal protected override void OnDesignerDetach (IDesignArea designer)
+ 		{
+ 			base.OnDesignerDetach (designer);
+-			((GLib.Object)Wrapped).RemoveNotification (NotifyHandler);
++			foreach (string property in GladePropertyNames)
++				((GLib.Object)Wrapped).RemoveNotification (property, NotifyHandler);
+ 		}
+ 		
+ 		public static Object Lookup (GLib.Object obj)
+
+diff --git a/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs b/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
+index 89f04b5..75d7b17 100644
+--- a/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
++++ b/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
+@@ -1540,22 +1540,39 @@ namespace MonoDevelop.Components.Commands
+ 	internal class ToolbarTracker
+ 	{
+ 		Gtk.IconSize lastSize;
+-		
++		 
+ 		public void Track (Gtk.Toolbar toolbar)
+ 		{
+ 			lastSize = toolbar.IconSize;
+-			toolbar.AddNotification (OnToolbarPropChanged);
++			toolbar.AddNotification ("icon-size", IconSizeChanged);
++			toolbar.OrientationChanged += HandleToolbarOrientationChanged;
++			toolbar.StyleChanged += HandleToolbarStyleChanged;
++			
+ 			toolbar.Destroyed += delegate {
+-				toolbar.RemoveNotification (OnToolbarPropChanged);
++				toolbar.StyleChanged -= HandleToolbarStyleChanged;
++				toolbar.OrientationChanged -= HandleToolbarOrientationChanged;
++				toolbar.RemoveNotification ("icon-size", IconSizeChanged);
+ 			};
+ 		}
+-		
+-		void OnToolbarPropChanged (object ob, GLib.NotifyArgs args)
++
++		void HandleToolbarStyleChanged (object o, Gtk.StyleChangedArgs args)
+ 		{
+-			Gtk.Toolbar t = (Gtk.Toolbar) ob;
+-			if (lastSize != t.IconSize || args.Property == "orientation" || args.Property == "toolbar-style")
++			Gtk.Toolbar t = (Gtk.Toolbar) o;
++			if (lastSize != t.IconSize)
+ 				UpdateCustomItems (t);
+-			lastSize = t.IconSize;
++		}
++
++		void HandleToolbarOrientationChanged (object o, Gtk.OrientationChangedArgs args)
++		{
++			Gtk.Toolbar t = (Gtk.Toolbar) o;
++			if (lastSize != t.IconSize)
++				UpdateCustomItems (t);
++		}
++
++		void IconSizeChanged (object o, GLib.NotifyArgs args)
++		{
++			this.lastSize = ((Gtk.Toolbar) o).IconSize;
++			UpdateCustomItems ((Gtk.Toolbar) o);
+ 		}
+ 		
+ 		void UpdateCustomItems (Gtk.Toolbar t)
+




More information about the arch-commits mailing list