Benjamin Otte [Fri, 28 Jan 2011 09:47:34 +0000 (10:47 +0100)]
plug/socket: Make GtkPlug and GtkSocket X11-specific
People agreed that it doesn't make sense to make an xembed
implementation like plug/socket does not make sense on anything but X11.
And as GdkNativeWindow is going away for multibackend portability
reasons, we'd either need API fixes in the plug-socket codee or
constrain the widgets to a single backend. We chose the latter.
Add default class implementation of gtk_widget_get_request_mode().
Instead of checking if klass->get_request_mode is != NULL from
the gtk_widget_get_request_mode() api, this allows classes to
trust that there is a default implementation and chain up (specifically
added this for gtkmm wrapper objects).
Carlos Garnacho [Wed, 12 Jan 2011 20:18:07 +0000 (21:18 +0100)]
Make GtkTreeView use GtkStyleContext
Expander animation has been replaced by implicit animations
from the style context.
Column headers are also properly themed, GtkContainer::get_path_for_child()
is implemented and the treeview resets column buttons style on columns
being reordered.
The default CSS has changed to theme treeviews sensibly.
Colin Walters [Thu, 27 Jan 2011 16:19:51 +0000 (11:19 -0500)]
Clarify documentation header about GTK+ 3 vs 2
I think it's confusing for a lot the developers out there who
may not even be aware of GTK+ 3 coming, if suddenly GTK+ 3 becomes
the "stable" version of "gtk" on library.gnome.org. It may
not even be feasible for them to port to GTK+3 if it's not
shipped in the operating systems they're targeting (for example,
RHEL 6).
Since practically speaking, we expect people to consume GTK+ 2 for
several years at least, redirect these people to the right pages.
(I didn't attempt to explain the differences between the libraries
here, but hopefully the major version difference is enough of a hint)
As a side effect, this makes the generated HTML look better; previously
it looked rather crappy, since the "for GTK &version;" was totally
offset and in a different group from the documentation title.
Matthias Clasen [Wed, 26 Jan 2011 16:18:11 +0000 (11:18 -0500)]
Parse a per-theme settings.ini file
This lets themes override settings values again. We are using
the same priority that was used from the rc file parser, so things
are largely unchanged, relative to other settings sources.
Matthias Clasen [Wed, 26 Jan 2011 15:46:40 +0000 (10:46 -0500)]
Break out into a separate function
Move key file parsing to gtk_settings_load_from_key_file(), in
preparation for loading per-theme files. Load key files from both
/etc and ~/.config, with the latter overriding the former. Support
parsing enum values.
Added GtkBuildable support for adding rules to GtkRecentFilter
Also added documentation section for this. Since the GtkRecentFilter
documentation was still living in sgml, as a side-effect I migrated these
docs to the gtkrecentfilter.[ch] sources.
Carlos Garnacho [Tue, 25 Jan 2011 12:30:24 +0000 (13:30 +0100)]
Make gtk_widget_get_state() only handle GtkStateType values available in 2.x
GtkStateType was generally used as an index in GtkStyle color arrays, so
bigger values will cause invalid memory accesses in widgets that are still
doing that. this was seen in focused GtkIconViews for example
Carlos Garnacho [Mon, 24 Jan 2011 18:55:41 +0000 (19:55 +0100)]
Do not modify associated device for non-master devices on dispose
Only master devices must modify the associated device to separate
a pointer/keyboard pair, slave devices must only call
_gdk_device_remove_slave().
Fixes bug 639767 - password not accepted in gnome-screensaver dialog,
reported by Frederic Crozat. On VT-switch, the X server removes its
grab on HW devices, the effect on clients is that slave devices
disappear, and these were mistakenly mangling the master device
hierarchy. so gdk_device_get_associated_device() on the client
pointer wouldn't return the paired keyboard anymore.
The final effect is that gtkplug-x11 wasn't setting a keyboard to
its generated events.
Carlos Garnacho [Mon, 24 Jan 2011 01:32:50 +0000 (02:32 +0100)]
Avoid toplevel tracking on slave device after ungrab
slave devices don't have coordinates themselves, as they depend
on a master, this only changes if they have a grab in effect,
so only keep toplevel tracking enabled in such situation. Fixes
Bug #640313 - BadDevice X error when ungrabbing a SLAVE device,
noticed by Jesse van den Kieboom.
Carlos Garnacho [Sun, 23 Jan 2011 22:19:30 +0000 (23:19 +0100)]
Free button_state.mask after XIQueryPointer()
This function allocates the button mask, so free it after
use, or right before the next XIQueryPointer() call, as done
in gdk_x11_device_xi2_window_at_position().
Carlos Garnacho [Sun, 23 Jan 2011 22:09:58 +0000 (23:09 +0100)]
Fix valgrind warning about uninitialized value
mods_state->effective is not being set in XIQueryPointer() currently, so
use base|latched|locked instead, effective is nothing else than a shorthand
for these ORs, and these 3 values are set correctly anytime.
Carlos Garnacho [Sun, 23 Jan 2011 17:21:32 +0000 (18:21 +0100)]
Do not unset sensitivity mistakenly in gtk_widget_set_state_flags()
together with commit 8903615a34, this finally fixes bug #640282.
Insensitivity is handled separatedly in _gtk_widget_update_state_flags(),
but the insensitive flag is mistakenly unset afterwards if clear is TRUE
in gtk_widget_set_state_flags().
Chun-wei Fan [Sun, 23 Jan 2011 16:10:19 +0000 (00:10 +0800)]
Update Visual C++ 2008 Project Files Stuff
-Updated README.txt file in build/win32/vs9.
-Fix the gdk.vcprojin and gtk+.vsprops regarding include paths
and copying of headers (missed header etc.)