Alexander Larsson
70774bf978
GtkCssShadowValue: Break out the shadow rendering code
...
This makes it easier to call it multiple times which we
want to do later.
2013-05-06 16:20:03 +02:00
Alexander Larsson
c91e706e2b
css: Clip outset box-shadow to outside of box
...
As per css3-background 7.2. Drop Shadows: the ‘box-shadow’ property:
An outer box-shadow casts a shadow as if the border-box of the element
were opaque. The shadow is drawn outside the border edge only: it
is clipped inside the border-box of the element.
Also verified vs firefox behaviour.
2013-05-06 16:20:03 +02:00
Stef Walter
ed1eddabf0
gtksettings: Fix loading of uint settings
...
https://bugzilla.gnome.org/show_bug.cgi?id=699739
2013-05-06 14:20:48 +02:00
Matthias Clasen
ec724fe0fd
Remove regex-based export control
...
All export control is now happening through annotations
in the headers.
2013-05-05 15:38:48 -04:00
Matthias Clasen
92597da3a0
Add visibility flags in gtk/a11y
2013-05-05 15:38:48 -04:00
Matthias Clasen
feedd371f6
New visibility handling in gtk
2013-05-05 15:38:48 -04:00
Matthias Clasen
8af16c5d44
New visibility handling in gdk
...
Change the visibility handling to be the same way we do it in
GLib now. We pass -fvisibility=hidden to gcc and decorate public
functions with __attribute__((visibility("default"))).
This commit just does this for GDK, GTK+ will follow later.
2013-05-05 15:38:48 -04:00
Matthias Clasen
f5f5b70355
Ignore deprecations where needed
...
There are a few places where we are still using deprecated
API internally - ignore deprecations around these uses.
2013-05-05 15:38:48 -04:00
Matthias Clasen
7d8e755d16
Fix up headerless symbols
...
Some symbols are exported from GTK+, but do not appear in any
headers. For these, use _GDK_EXTERN in the source file to make
sure they are exported.
2013-05-05 15:38:47 -04:00
Matthias Clasen
4cec2337ab
Add annotations in a11y headers
2013-05-05 15:38:47 -04:00
Matthias Clasen
20c8c8b91c
Add annotations to gtk headers
...
Add annotations to all exported functions in GTK+ headers.
2013-05-05 15:38:47 -04:00
Matthias Clasen
8470eb84c0
gtk: Use GDK_AVAILABLE_IN_ALL for generated enum types
...
glib-mkenums is not currently clever enough to know which version an
enum type was added in, so just mark all the _get_type() functions as
available in all versions.
2013-05-05 15:38:47 -04:00
Matthias Clasen
28fb54256b
Just ignore deprecations inside deprecated/
...
Not worth tracking uses of deprecated API individually here.
2013-05-05 15:38:47 -04:00
Matthias Clasen
9c0486a726
Use _GDK_EXTERN when defining the decorators
...
Make all GDK_DEPRECATED and GDK_AVAILABLE macros use a
new _GDK_EXTERN macro. _GDK_EXTERN defaults to just 'extern'
but a subsequent commit will add visibility handling to it
while building GTK+.
2013-05-05 15:38:47 -04:00
Matthias Clasen
ca81028901
Add GDK_AVAILABLE_IN_ALL annotations in gdk
...
This is in preparation to modernizing our handing
of exported symbols.
2013-05-05 15:38:46 -04:00
Matthias Clasen
96d1a1e9c5
Use GDK_AVAILABLE_IN_ALL for generated enum types
...
glib-mkenums is not currently clever enough to know which version an
enum type was added in, so just mark all the _get_type() functions as
available in all versions.
2013-05-05 15:38:46 -04:00
Matthias Clasen
baab7acf08
gdkversionmacros.h: add GDK_AVAILABLE_IN_ALL
...
Add a macro to declare that a particular symbol is available in all
versions of GTK+.
All newly-added symbols should have proper version macros (like
GDK_AVAILABLE_IN_3_4).
2013-05-05 15:38:46 -04:00
Matthias Clasen
265e617f0a
gtk-demo: Include config.h first
...
If config.h is included after gdkversionmacros.h, _GDK_EXTERN
gets redefined and cpp doesn't like that.
2013-05-05 15:38:46 -04:00
Matthias Clasen
0b3461ff1b
gtk-demo: Don't include config.h needlessly
...
It is not needed here.
2013-05-05 15:38:46 -04:00
Matthias Clasen
111cc604f5
Remove an unused private function
...
_gtk_text_layout_get_line_xrange was not exported and not used
inside GTK+ either.
2013-05-05 15:38:46 -04:00
Victor Ibragimov
5462961243
Updated Tajik Translation
2013-05-05 19:22:27 +05:00
Matthias Clasen
3b4804bbf1
Always use gint for border_width
...
This avoids an evil trap when doing MAX (..., ... - 2 * border_width)
and the expression on the right gets promoted to unsigned, instead
of going negative as you would expect.
https://bugzilla.gnome.org/show_bug.cgi?id=699633
2013-05-04 19:21:56 -04:00
Ignacio Casal Quinteiro
38688cad00
window: handle titlebar property for the buildable interface
2013-05-04 23:04:55 +02:00
Matthias Clasen
96e0d9db72
Some window size test tweaks
...
Draw a checkerboard pattern, and add an interactive mode that
waits for events before moving on. This makes it easier to see
when a size is wrong.
2013-05-04 16:16:20 -04:00
Matthias Clasen
7fd0836567
Add some more GtkWindow tests
...
These tests check that a toplevel window ends up with the expected
size after setting default sizes or resizing. It currently passes
on X, but fails with client-side decorations under X and Wayland.
2013-05-04 16:16:11 -04:00
Matthias Clasen
e61df371c9
Prevent criticals when initializing a Wayland display
...
When we call _gdk_wayland_display_load_cursor_theme during
the initial opening of the first display, gdk_setting_get does
not work yet, since it relies on the default display/screen
being set, which only happens after open returns.
Instead, just use the screen of this display.
2013-05-04 16:13:09 -04:00
Matthias Clasen
ed5ef04127
Fix setting child properties
...
This was broken in e9f182e37a
2013-05-03 22:29:20 -04:00
Matthias Clasen
97caad1fec
Don't clear data on a NULL screen
...
This makes GtkSettings survive the object finalize test.
2013-05-03 20:05:00 -04:00
John Ralls
3ca0a39fa9
Bug 606378 - gdk doesn't handle non-main thread rendering on Quartz
...
Document that the restrictions on Win32 apply also to Quartz.
2013-05-03 16:45:03 -07:00
Stefan Sauer
b8366027b3
widget: fix two typos in api-docs
2013-05-03 20:40:00 +02:00
Colin Walters
41bf557012
reftests: Don't use spaces in Makefile first line
...
Otherwise Emacs makes one's life miserable.
2013-05-03 11:08:51 -04:00
Guillaume Desmottes
c15a7877e9
treemodelsort: destroy the root only if we are removing the latest row of the level
...
GtkIconView doesn't ref the rows of the model so we have to make sure that a
level is actually empty before destroying it.
https://bugzilla.gnome.org/show_bug.cgi?id=698846
2013-05-03 13:06:08 +02:00
Matthias Clasen
2b6c684569
Make it possible to finalize theming engines
...
This was broken since forever. Good that we never finalize
theme engines...
2013-05-02 21:36:45 -04:00
Matthias Clasen
c538bdc7dc
GtkInvisible behaves like GtkWindow
...
As far as refcounting is concerned, invisibles are like
windows: you have to destroy them.
2013-05-02 20:43:34 -04:00
Matthias Clasen
b980057764
Only check for finalization after a grace period
...
This makes the file chooser pass this test
2013-05-02 20:42:24 -04:00
Matthias Clasen
1afca5510a
Prevent a segfault if GtkAppChooserDialog gets disposed early
...
If the async call is finished after the dialog is already disposed,
bad things happen. Prevent that by marking the dialog as dismissed
in this case.
2013-05-02 20:00:49 -04:00
Benjamin Otte
01c810b4d7
gdk: Remove new gdk_display_manager_peek() API
...
It's not necessary anymore because gdk_display_manager_get() always
succeeds and the value is independant of when it was called as it's no
longer backend specific.
2013-05-02 16:27:47 +02:00
Benjamin Otte
43e6b3aa03
window: Handle attach widget disappearing without weak pointers
...
Fixes the window not emitting a "notify::attached-to" signal when the
attach-widget goes away.
2013-05-02 16:26:37 +02:00
Benjamin Otte
f7ee5450e1
displaymanager: Remove GInitable implementation
...
This is not needed anymore, as only one type exists and that type can
always be instantiated.
2013-05-02 16:17:30 +02:00
Benjamin Otte
d67880bf72
broadway: Remove displaymanager implementation
...
This is an API break, but the broadway backend is unsupported, so we can
get away with it.
2013-05-02 16:15:22 +02:00
Benjamin Otte
7470a280da
wayland: Remove displaymanager implementation
...
This is an API break, but the wayland backend is unsupported, so we can
get away with it.
2013-05-02 16:14:59 +02:00
Benjamin Otte
7c027d51d8
displaymanager: Don't create backend-specific display managers
...
Just create a backend-agnostic displaymanager. Creating the displays
later on determines the backend in use.
2013-05-02 16:12:04 +02:00
Benjamin Otte
632ee007a4
displaymanager: Copy logic to display creation
...
Use the same logic for display creation in
gdk_display_manager_open_display() that is used for displaymanager
creation.
2013-05-02 16:06:21 +02:00
Benjamin Otte
f3a5ad32f3
quartz: Move initialization code to display_class_init
...
This follows the same reasoning as the X11 backend in commit
0122a9da8e
2013-05-02 15:43:35 +02:00
Benjamin Otte
8762791e82
win32: Call windowing init from display_class_init()
...
This follows the same reasoning as the X11 backend in commit
0122a9da8e
2013-05-02 15:36:41 +02:00
Benjamin Otte
7cecc8e524
a11y: Remove AtkSelection implementation from combobox
...
AtkSelection requires that the immediate children of the object are the
selectable items. The combobox however is implemented with just 1 child:
The popup menu.
The popup menu is implementing the selectable interface.
Test are updated to reflect this change.
2013-05-02 15:31:26 +02:00
Matthias Clasen
c6894cd606
Try this again
...
When the hostnamed call is cancelled, we get a G_IO_ERROR_CANCELLED
error back. Handle it properly.
2013-05-02 09:29:35 -04:00
Matthias Clasen
f7f63ae3ee
Revert "Remove a superfluous ref"
...
This reverts commit f326c0eac8
.
Grr, turns out that cancelling is not that reliable :-(
2013-05-02 08:23:58 -04:00
Matthias Clasen
117c86d08a
Clear list of attached windows when disposing a widget
...
We were silently relying on everybody to detach their windows,
and would leak memory otherwise.
2013-05-02 08:02:40 -04:00
Matthias Clasen
fb08a26acd
GtkWindow: use a weak ref to keep track of attach_widget
...
Taking a full reference of the attach widget creates a reference
cycle, and keeps the attach_widget alive longer than it should.
2013-05-02 08:01:14 -04:00