Michael Natterer [Fri, 11 Feb 2011 09:35:25 +0000 (10:35 +0100)]
gtk: don't send BUTTON_RELEASE to unrealized widgets
which happened when the source widget was hidden or destroyed while a
drag was going on, like when dragging from a popup that got a grab
broken as result of the dnd operation.
Chun-wei Fan [Fri, 11 Feb 2011 09:45:32 +0000 (17:45 +0800)]
Visual C++ support: Fix the gdk-win32 Project
Apparently I previously had one of the source files wrong here...
Update this to reflect the correct file.
My fault for not seeing this earlier-sorry. DOH.
Matthias Clasen [Thu, 10 Feb 2011 19:41:02 +0000 (14:41 -0500)]
Bump the version to 3.0.0
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
Matthias Clasen [Wed, 9 Feb 2011 22:32:05 +0000 (17:32 -0500)]
Don't try to modify readonly strings
This was an oversight in the recent accel label improvement.
When we get an untranslated string back from gettext(), it is
not ok to replace '_' by ' ' in-place. Instead, do it while
appending to the GString.
https://bugzilla.gnome.org/show_bug.cgi?id=641912
Carlos Garnacho [Wed, 9 Feb 2011 16:00:49 +0000 (17:00 +0100)]
Avoid the need for cairo_push_group() in gtk_render_background()
This operation is potentially expensive, so the code has been
refurbished so avoid the cases it was needed for. Antialiased
cairo_clip() has been also reduced to transitions with surface
patterns involved.
Johan Dahlin [Tue, 8 Feb 2011 15:30:24 +0000 (13:30 -0200)]
introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES. Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
Colin Walters [Tue, 8 Feb 2011 15:16:55 +0000 (10:16 -0500)]
introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES. Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
Carlos Garnacho [Mon, 7 Feb 2011 20:20:54 +0000 (21:20 +0100)]
doc: Add a note about prioritization of GtkStyleProviders
It was unclear in the docs what happened if
gtk_style_context_add_provider() and
gtk_style_context_add_provider_for_screen()
were used with the same priority.
Matthias Clasen [Mon, 7 Feb 2011 16:23:43 +0000 (11:23 -0500)]
Fix problems with state propagation
Sensitivity changes were not properly propagated down the
hierarchy. There were two issues here:
a) correctly identifying when a state change request affects
sensitivity
b) not filtering out sensitivity in gtk_widget_propagate_state(),
since gtk_widget_set_sensitivity() uses that to do its work
Optimized GtkSizeGroup code that is invoked for every queued resize
and every request that is not previously cached by trading qdata on
widgets for 3 extra bitfields on the GtkWidgetPrivate structure.
Javier Jardón [Sun, 6 Feb 2011 00:38:38 +0000 (00:38 +0000)]
configure.ac: Remove some obsolescent macros
AC_C_CONST: current C compilers support const
AC_TYPE_SYGNAL: obsolete when assuming C89 or better
AC_HEADER_STDC: current systems have conforming header files
Hans Breuer [Sun, 6 Feb 2011 14:03:32 +0000 (15:03 +0100)]
win32: no more GdkNativeWindow and related changes
- replace GdkNativeWindow with HWND, remove type casts
- no more GdkDisplayClass::get_drag_protocol but GdkWindowImpl::get_drag_protocol
- remove *_client_message*()
gtk: gtk_cell_renderer_get_state(): a row can be both selected and insensitive
so pull the SELECTED state flag out of the !sensitive branch. Also,
don't make FOCUSED depend on SELECTED here, it's up to the widget to
decide whether or not that is possible.
Carlos Garnacho [Sun, 6 Feb 2011 01:40:06 +0000 (02:40 +0100)]
GtkStyleContext is meant to have a GdkScreen
It is used to get the default providers, without them
the style context can't do much. A check for NULL screen
is done before any sensitive call to
gtk_style_context_set_screen(), in the hope that any widget
will open the display before doing anything related to
styling. Fixes bug #641429, reported by Bastien Nocera.
Fixed gtk_recent_chooser_menu_set_current_filter to update the local pointer.
Before this patch, unsetting the filter manually before disposing
the recent chooser menu (or unsetting the filter twice), would cause
warnings (or invalid memory accesses).
Added set_transient_for() implementation for GdkOffscreenWindow
Just a noop that is better than crashing in the case this is called
(it can be called for a toplevel GtkWindow that is parented into
another widget by setting gtk_widget_set_parent_window to an offscreen
window).