You've already forked linux-packaging-mono
Imported Upstream version 5.0.0.42
Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
parent
1190d13a04
commit
6bdd276d05
75
external/bockbuild/packages/patches/gtk/0048-gtk-also-clip-the-NSView-s-subviews.patch
vendored
Normal file
75
external/bockbuild/packages/patches/gtk/0048-gtk-also-clip-the-NSView-s-subviews.patch
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
From 20bf51d57fecdc6783aa3edee50a657243aa872a Mon Sep 17 00:00:00 2001
|
||||
From: Michael Natterer <mitch@gimp.org>
|
||||
Date: Fri, 15 Mar 2013 16:56:59 +0100
|
||||
Subject: [PATCH 48/68] gtk: also clip the NSView's subviews
|
||||
|
||||
---
|
||||
gtk/gtknsview.c | 29 ++++++++++++++++++++---------
|
||||
1 file changed, 20 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtknsview.c b/gtk/gtknsview.c
|
||||
index b58a2c8..e2d8f96 100644
|
||||
--- a/gtk/gtknsview.c
|
||||
+++ b/gtk/gtknsview.c
|
||||
@@ -225,10 +225,14 @@ gtk_ns_view_init (GtkNSView *ns_view)
|
||||
@end
|
||||
|
||||
static void
|
||||
-gtk_ns_view_swizzle_draw_rect (NSView *view)
|
||||
+gtk_ns_view_swizzle_draw_rect_recursive (NSView *view,
|
||||
+ const gchar *associated_key,
|
||||
+ gpointer associated_object)
|
||||
{
|
||||
Method original_drawRect;
|
||||
Method my_drawRect;
|
||||
+ NSArray *subviews;
|
||||
+ gint i;
|
||||
|
||||
original_drawRect = class_getInstanceMethod ([view class],
|
||||
@selector (drawRect:));
|
||||
@@ -245,6 +249,18 @@ gtk_ns_view_swizzle_draw_rect (NSView *view)
|
||||
method_getImplementation (my_drawRect),
|
||||
method_getTypeEncoding (my_drawRect));
|
||||
}
|
||||
+
|
||||
+ objc_setAssociatedObject (view, associated_key, (id) associated_object,
|
||||
+ OBJC_ASSOCIATION_ASSIGN);
|
||||
+
|
||||
+ subviews = [view subviews];
|
||||
+
|
||||
+ for (i = 0; i < [subviews count]; i++)
|
||||
+ {
|
||||
+ gtk_ns_view_swizzle_draw_rect_recursive ([subviews objectAtIndex: i],
|
||||
+ associated_key,
|
||||
+ associated_object);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -263,10 +279,8 @@ gtk_ns_view_constructed (GObject *object)
|
||||
gtk_widget_get_can_focus (GTK_WIDGET (ns_view)));
|
||||
#endif
|
||||
|
||||
- gtk_ns_view_swizzle_draw_rect (ns_view->priv->view);
|
||||
-
|
||||
- objc_setAssociatedObject (ns_view->priv->view, "gtknsview", (id) ns_view,
|
||||
- OBJC_ASSOCIATION_ASSIGN);
|
||||
+ gtk_ns_view_swizzle_draw_rect_recursive (ns_view->priv->view,
|
||||
+ "gtknsview", ns_view);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -428,10 +442,7 @@ gtk_ns_view_map (GtkWidget *widget)
|
||||
|
||||
if (text)
|
||||
{
|
||||
- gtk_ns_view_swizzle_draw_rect (text);
|
||||
-
|
||||
- objc_setAssociatedObject (text, "gtkwindow", (id) toplevel,
|
||||
- OBJC_ASSOCIATION_ASSIGN);
|
||||
+ gtk_ns_view_swizzle_draw_rect_recursive (text, "gtkwindow", toplevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.10.2 (Apple Git-33)
|
||||
Reference in New Issue
Block a user