# HG changeset patch # User Jan Dj¸«£rv # Date 1048883581 0 # Node ID 60da21fd968b85fdd23f1d0101f69fc56e675d0f # Parent 90e7d2037d2a63051f80a4699aaf97ba0425151e * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size of area to be redrawn for better performance. diff -r 90e7d2037d2a -r 60da21fd968b src/ChangeLog --- a/src/ChangeLog Fri Mar 28 17:49:49 2003 +0000 +++ b/src/ChangeLog Fri Mar 28 20:33:01 2003 +0000 @@ -1,3 +1,8 @@ +2003-03-28 Jan Dj,Ad(Brv + + * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size + of area to be redrawn for better performance. + 2003-03-28 Stefan Monnier * xterm.c (take_vertical_position_into_account): Remove. diff -r 90e7d2037d2a -r 60da21fd968b src/gtkutil.c --- a/src/gtkutil.c Fri Mar 28 17:49:49 2003 +0000 +++ b/src/gtkutil.c Fri Mar 28 20:33:01 2003 +0000 @@ -1383,8 +1383,6 @@ G_CALLBACK (tearoff_remove), menu); } -int xg_debug = 0; - /* Create a menu item widget, and connect the callbacks. ITEM decribes the menu item. F is the frame the created menu belongs to. @@ -2949,8 +2947,19 @@ GdkEventExpose *event; gpointer client_data; { - event->area.x = event->area.y = 0; - event->area.width = event->area.height = 1000; + gint width, height; + + gdk_drawable_get_size (event->window, &width, &height); + + event->area.x -= width > event->area.width ? width-event->area.width : 0; + event->area.y -= height > event->area.height ? height-event->area.height : 0; + + event->area.x = max(0, event->area.x); + event->area.y = max(0, event->area.y); + + event->area.width = max (width, event->area.width); + event->area.height = max (height, event->area.height); + return FALSE; }