Matthias Clasen
272aa7bc55
XI2: don't translate button releases as scroll events
...
This fixes scroll-by-2 sympoms seen in combo boxes.
https://bugzilla.gnome.org/show_bug.cgi?id=639846
2011-02-04 12:54:44 -05:00
Tristan Van Berkom
b51f3ffffc
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).
2011-02-03 23:52:12 +09:00
Martin Pitt
0e795b67c3
[GI] Mark mis-detected constructors as such
...
constructors which take an object of the same class as its first argument are
mis-detected as method call with "self" argument by the GIR scanner. Using the
new (constructor) annotation from bug 561264, mark some of them as proper
constuctors, so that you can call them with NULL as first argument from
bindings; in particular, this fixes gdk_window_new() and the
gtk_radio_button_new_with*() constructors.
2011-02-02 15:11:06 +01:00
John Ralls
cfaed624be
Update quartz to reflect deletion of GdkNativeWindow and client_message functions.
2011-02-01 13:53:00 -08:00
Benjamin Otte
5f594b613e
API: gdk: Get rid of GdkNativeWindow
...
Also get rid of the GDK_NATIVE_WINDOW_POINTER define.
2011-02-01 18:51:57 +01:00
Benjamin Otte
7b5ad65e71
x11: Use Window isntead of GdkNativeWindow
2011-02-01 18:51:57 +01:00
Benjamin Otte
44c02fcbb1
API: gdk: Change get_drag_window() API
...
The previous function gdk_drag_get_protocol_for_display() took native
window handles, so it had to be changed. Because it didn't do what it
was named to do (it didn't return a protocol even though it was named
get_protocol) and because it doesn't operate on the display anymore but
on the actual window, it's now called gdk_window_get_drag_protocol().
2011-02-01 18:51:57 +01:00
Benjamin Otte
9210347600
API: gdk: Make GDK_DRAG_PROTOCOL_NONE equal to 0
...
THis way, we can do comparisons like "if (protocol)"
2011-02-01 18:51:57 +01:00
Benjamin Otte
5bc04bc07b
API: gdk: Make GdkEventSelection.requestor a GdkWindow
...
instead of a GdkNativeWindow. Also change gdk_selection_notify() API to
take a GdkWindow to match this change.
2011-02-01 18:51:57 +01:00
Benjamin Otte
c2a5d715d5
x11: Use gdk_x11_window_foreign_new_for_display() unconditionally
...
gdk_x11_window_lookup_window() calls are done by this function alreayd,
so no need to do them manually.
2011-02-01 18:51:57 +01:00
Matthias Clasen
5441ecd350
Fix a warning
2011-02-01 09:48:32 -05:00
Matthias Clasen
38045e789c
Remove a dead member
...
The client_pointer field in GdkX11DeviceManagerXI2 is not used anywhere.
2011-02-01 09:44:33 -05:00
Matthias Clasen
c79413a1df
Make xim work with XI2
...
We cannot totally ignore core key events, since XFilterEvent generates
those at times and relies on them having an effect.
https://bugzilla.gnome.org/show_bug.cgi?id=640965
2011-02-01 09:42:53 -05:00
Benjamin Otte
c332ac207a
gdk: Remove GdkEventClient
...
... and all APIs making use of it.
That code like it hasn't been touched in years, Google codesearch
didn't find any users and most importantly it's a horrendous API, so
let's just make it die instead of having to port it over to
non-GdkNativeWindow usage, which would be required for multi-backend
GDK.
http://mail.gnome.org/archives/gtk-devel-list/2011-January/msg00049.html
2011-02-01 06:33:02 +01:00
Benjamin Otte
8ecd420ede
x11: Do dnd event handling via gdk_window_add_filter()
2011-02-01 06:33:02 +01:00
Benjamin Otte
180cd853fc
x11: Use macros for byte order to set byte order
...
No need to run sophisticated functions to guess it.
2011-02-01 06:33:02 +01:00
Benjamin Otte
609ddee632
x11: Register wm_protocols function with gdk_window_add_filter()
...
The client message code is about to go away, so we need to use a
different way to get at ClientMessage output.
2011-02-01 06:33:01 +01:00
Benjamin Otte
e67347a3c8
x11: Fill in event->any.window before calling filter functions
...
a) We advertise it for GdkFilterFunc
b) It's necessary to differentiate between different event types with
multi-backend GTK.
2011-02-01 06:33:01 +01:00
Benjamin Otte
d217f4d09e
x11: Handle motif client message filter just like xdnd filters
2011-02-01 06:33:01 +01:00
Benjamin Otte
14cb485d22
x11: Use event->any.window instead of any random member
2011-02-01 06:33:01 +01:00
Matthias Clasen
b52db73f59
Deal gracefully with unowned selections
...
If a selection looses its owner without a replacement, owner is
None, which we did not handle very well.
https://bugzilla.gnome.org/show_bug.cgi?id=641042
2011-01-31 19:35:51 -05:00
Kristian Rietveld
73afbc954a
Check whether mask is NULL
2011-01-31 23:54:38 +01:00
Benjamin Otte
9864445b1f
API: gdk: Change GdkEventOwnerChange to not take GdkNativeWindow
...
Use GdkWindow instead. This requires calling
gdk_x11_window_foreign_new_for_display(), so might cause a slight
performance penalty, but is required to be portable.
2011-01-31 07:17:31 +01:00
Matthias Clasen
61f8dbc245
Silence compiler warnings
2011-01-30 01:40:51 -05:00
Matthias Clasen
b1be543ba5
Use free() to free XIButtonState.mask
...
XIQueryPointer() allocates it using malloc() (without any mention
in the documentation...).
2011-01-29 23:27:36 -05:00
Matthias Clasen
d981b9ed61
Fix a doc typo
2011-01-28 11:10:07 -05:00
Benjamin Otte
ef1606604c
x11: Use Window instead of GdkNativeWindow
2011-01-28 17:06:07 +01:00
Benjamin Otte
bd4ef49af9
API: x11: Add GDK_POINTER_TO_XID() and GDK_XID_TO_POINTER()
...
Previously people used GDK_GPOINTER_TO_NATIVE_WINDOW() for this, but
native windows are going away, so we need a replacement.
2011-01-28 17:06:07 +01:00
Carlos Garnacho
8fdd8dbc35
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.
2011-01-24 19:55:41 +01:00
Carlos Garnacho
94c4a312c1
Add extra checks for GdkDevice functions that might fail on slave devices.
...
Documentation bits have been added as well.
2011-01-24 02:54:38 +01:00
Carlos Garnacho
5fd5872b37
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.
2011-01-24 02:54:00 +01:00
Matthias Clasen
454c36523a
Silence new gcc warnings
...
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 18:50:09 -05:00
Carlos Garnacho
0cc2f93d5c
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().
2011-01-23 23:19:30 +01:00
Carlos Garnacho
b2b73a349e
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.
2011-01-23 23:14:53 +01:00
Benjamin Otte
51290e0a57
gdk: When reffing the impl surface, ref it from the impl window
...
This was causing surfaces to be created with the wrong size and that
caused broken clipping.
https://bugzilla.gnome.org/show_bug.cgi?id=640195
2011-01-23 21:41:01 +01:00
Matthias Clasen
eab3d94a43
Expose gtk-auto-mnemonics as an Xsetting
2011-01-22 23:48:39 -05:00
Matthias Clasen
9d34a9cc65
checksettings: succeed quietly
2011-01-22 23:47:01 -05:00
Tomeu Vizoso
e2d42f3c4b
[gi] Return value of gdk_window_new should have transfer full
2011-01-21 17:34:18 +01:00
Fridrich Štrba
a79f05c7be
fix win32 build after removal of the colormap debug category
2011-01-21 11:20:16 +01:00
Sebastian Pölsterl
8effa1eb0e
[gi] Added missing (allow-none) annotation to gdk_device_grab
2011-01-21 10:36:07 +01:00
Matthias Clasen
46903a9100
Fix a crash during DND
...
https://bugzilla.gnome.org/show_bug.cgi?id=640105
2011-01-20 21:36:50 -05:00
Benjamin Otte
ec750bed0c
gdk: Remove colormap debug category
...
We don't have colormaps anymore.
2011-01-21 02:54:09 +01:00
Benjamin Otte
7013406167
x11: Don't keep two lists of devices internally
2011-01-21 02:54:09 +01:00
Johan Dahlin
7ad7c61678
Mark api with xlib types as skipped
...
Since they'd need to have boxed type to be able to work
for introspection based bindings
2011-01-20 12:12:22 -02:00
Johan Dahlin
1e0327f844
Use identifier-prefix instead of deprecated strip-prefix
2011-01-20 12:12:22 -02:00
Pavel Holejsovsky
374e76a19d
[GI] Mark unintrospectable constructs as (skip)
...
Also adds 'Rename to:' annotation to some constructs replacing the
skipped ones.
2011-01-20 13:57:21 +01:00
Pavel Holejsovsky
2fb1c06402
[GI] Add missing (out) and (array) annotations
2011-01-20 13:57:20 +01:00
Pavel Holejsovsky
2f0d40335b
[GI] Add missing (transfer) annotations
2011-01-20 13:57:18 +01:00
Pavel Holejsovsky
9b88eb356d
[GI] Add missing (scope) annotations
2011-01-20 13:57:15 +01:00
Pavel Holejsovsky
3c8fc21e9b
[GI] Fixes of existing incorrect annotations
2011-01-20 13:56:06 +01:00
Alexander Larsson
a3b227ff9e
[broadway] Remove unused grab_count from GdkBroadwayDisplay
...
We don't need this anymore since server grabs is now an x-only feature
2011-01-20 13:40:41 +01:00
Alexander Larsson
cbc324d846
[broadway] Prefix internal functions with broadway
2011-01-20 13:40:34 +01:00
Alexander Larsson
2c0012b76b
[broadway] Remove gdk_set_locale
2011-01-20 13:19:01 +01:00
Alexander Larsson
549610a8dd
[broadway] Remove unused input window stuff
2011-01-20 13:18:15 +01:00
Alexander Larsson
60c2b80bf0
[broadway] Remove all leftover _gdk_windowing_ functions
2011-01-20 13:12:26 +01:00
Laszlo Pandy
75a05621bf
[GI] Add annotation (type GdkModifierType) to state attributes in many GdkEvent structs.
...
The state attribute is available in GdkEventMotion, GdkEventButton,
GdkEventScroll, GdkEventKey and GdkEventCrossing. This type annotation
fixes the wrapping of this attribute in the GI PyGObject bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=639929
2011-01-20 11:19:26 +01:00
Pavel Holejsovsky
9389054da2
[GI] Add (type) annotations to real types
2011-01-20 10:38:38 +01:00
Matthias Clasen
99812be7d7
Be more careful with private event data
...
When copying allocated events, also copy the source device.
When synthesizing double or triple clicks, copy the original
button press event including device information.
https://bugzilla.gnome.org/show_bug.cgi?id=639822
2011-01-19 22:52:55 -05:00
Alexander Larsson
07db0e38b0
[broadway] Make broadway build with new gdk-backend setup
...
Convert all global functions to vtable calls, etc.
2011-01-19 19:52:51 +01:00
Alexander Larsson
920e8b4343
Merge branch 'master' into broadway2
...
Doesn't build, but fixed up actual conflicts
Conflicts:
configure.ac
gdk/Makefile.am
gtk/Makefile.am
2011-01-19 19:52:00 +01:00
Pavel Holejsovsky
a1c297a310
[GI] Cosmetic cleanups of annotations and doc comments
...
This change does not introduce any functionality change, mostly
cosmtic cleanups, like re-linebreak when introduced annotations messed
up indentation or whitespace errors fixes.
2011-01-18 17:31:59 +01:00
Pavel Holejsovsky
729c823955
[GI] Mark callbacks' context parameter with (closure) annotation.
2011-01-18 17:20:32 +01:00
Matthias Clasen
bb7662392d
Don't set the default display to NULL
...
This was causing segfaults if DISPLAY is unset
2011-01-18 09:36:59 -05:00
Matthias Clasen
fe687e760e
Add testcases for opening display
...
More precisely, test that we can successfully fail to open
a display...
2011-01-18 09:36:24 -05:00
Tristan Van Berkom
d9ebdb7610
Plugged memory leak in gdk_x11_device_manager_xi2_list_devices.
...
This was simply a misplaced 'g_list_copy()'.
2011-01-16 22:47:12 +09:00
Matthias Clasen
e62b68fe62
Add EXPORT_PACKAGES for the girs
...
This connects the girs to the pc file names.
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:46:21 -05:00
Matthias Clasen
9d14edf760
Add --include-uninstalled for the gdk gir
...
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:44:10 -05:00
Matthias Clasen
8ba35bc381
Add --warn-all to introspection scanner args
...
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:32:26 -05:00
Tristan Van Berkom
89eb869ecf
Avoid crashes calling gdk_window_enable_synchronized_configure() on an offscreen window.
...
Just added gdk_offscreen_window_do_nothing() noop stub in that slot.
2011-01-13 17:03:14 +09:00
Chun-wei Fan
479a08054b
Update MSVC 2008 Project Files
...
-Update the project files to simplify them a bit after the seperation of
GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the
linking of Cairo/Pango/PangoCairo into the property sheet)--this is for
all DLL/EXE Projects (GDK/GTK/gtk-demo)
-Update the GDK-Win32 project as the source files have changed
significantly (especially as GDK3 was not compilable on Windows for a
while--thanks to Hans Breuer for the help in the process-Bug 639127)
-Made up for missed headers in the "install" stage and removed the removed
headers in the property sheet
-Updated GTK+ .def file generation as an extra macro is needed for that
-Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin
2011-01-12 18:32:57 +08:00
Fridrich Štrba
a606ea62a1
Fix win32 build
2011-01-11 17:28:37 +01:00
Benjamin Otte
7e33c009a0
gdk: Fix typo
...
<mclasen>: Comapny: kludge, with a k
2011-01-11 17:06:49 +01:00
Benjamin Otte
b05f54ff73
x11: Add --c-include for gdk/gdkx.h to Gdk-X11 gir build
2011-01-11 16:46:59 +01:00
Benjamin Otte
ebd5f8b10e
gdk: Put stub gdkx.h into gdk/ dir
...
This is so we can include gdk/gdkx.h from inside GTK code.
2011-01-11 16:46:59 +01:00
Benjamin Otte
654aca5ccd
gdk: Don't build X11 stuff into Gdk.gir
2011-01-11 16:46:59 +01:00
Benjamin Otte
268efbc0ef
gdk: Add --c-include gdk/gdk.h to Gir build.
2011-01-11 16:46:59 +01:00
Hans Breuer
f605d3d698
Bug 639127 - Add missing gdkdisplaymanager-win32.c
2011-01-10 21:39:33 +01:00
Matthias Clasen
9f13312520
Fix file lists in the win32 backend
2011-01-05 09:58:46 -05:00
Matthias Clasen
5c1502479a
Fix gdk/abicheck.sh temporarily
...
The best fix for now is to just hardcode the X11 backend again
2011-01-04 23:40:41 -05:00
Matthias Clasen
c97652aeb4
Decouple GdkWindowCache life-cycle from GdkX11DragContext
...
By making window caches refcounted. This fixes problems with leaking
drag contexts, as experienced in
https://bugzilla.gnome.org/show_bug.cgi?id=637691
and
https://bugzilla.gnome.org/show_bug.cgi?id=144324
Based on a patch by drago01@gmail.com
2011-01-04 19:30:04 -05:00
Emilio Pozuelo Monfort
a108b2b08b
Fix build when builddir != srcdir
2011-01-04 23:21:36 +00:00
Emilio Pozuelo Monfort
cfc70ca71b
Fix introspection build when builddir != srcdir
...
So gdk/gdk.h can find gdk/gdkconfig.h, which is in $builddir
because it's generated.
2011-01-04 23:21:35 +00:00
Matthias Clasen
83058bf2ca
Use AM_V_GEN in a few more places
...
Based on a patch by Javier Jardón in
https://bugzilla.gnome.org/show_bug.cgi?id=621720
2011-01-03 20:33:36 -05:00
Julien Cristau
d211c8af6b
gdk/x11: don't select RANDR events if the extension is missing
...
Prevents an Xlib warning on Xnest, or Xorg with xinerama, or other
non-RANDR-capable xserver. Reintroduce a have_randr12 field in
GdkDisplayX11 to avoid having to call XRRQuery{Extension,Version} twice,
and don't select randr 1.2 events if that's false.
https://bugzilla.gnome.org/show_bug.cgi?id=634711
Signed-off-by: Julien Cristau <jcristau@debian.org>
2011-01-03 12:13:30 -05:00
Kristian Høgsberg
9c002cf2c1
Silence automake warnings
...
When commenting out a binary, also comment out the related variables.
Don't include Makefile.decl in gtk-doc Makefile.am's as they disagree
on assigning to EXTRA_DIST.
2011-01-03 11:59:45 -05:00
Kristian Høgsberg
cacee7e7a3
configure.ac: Support multiple GDK backends in one build
2011-01-03 11:59:45 -05:00
Benjamin Otte
ae7e5fc2d1
gdk: Simplify code
...
Move a previous vfunc into the only caller.
2011-01-03 17:44:24 +01:00
Benjamin Otte
6c39cade16
gdk: Get rid of GdkDisplayDeviceHooks
...
Move the only user to call the function directly and copy the called
function over.
2011-01-03 17:44:24 +01:00
Benjamin Otte
6e18276f52
gdk: Move get_device_state out of the display hooks
...
Previous callers now use _gdk_device_query_state() directly.
2011-01-03 17:44:24 +01:00
Benjamin Otte
2267602295
gdk: Simplify code
...
Fold the previous vfunc into the only caller.
2011-01-03 17:44:24 +01:00
Benjamin Otte
8d2104fdc9
gdk: Move window_get_device_position function out of the device hooks
2011-01-03 17:44:24 +01:00
Benjamin Otte
d72d19d247
API: gdk: Remove gdk_display_set_device_hooks()
...
There's no usecase for them, so remove them before we have to commit to
keeping an API.
Make the hooks private for now, actually removing them will come in
followup patches.
2011-01-03 16:51:38 +01:00
Benjamin Otte
ff1ad99dce
API: gdk: Remove gdk_display_set_pointer_hooks()
...
Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that
project is long since dead.
I couldn't find any app using it after asking around and googling either.
2011-01-03 16:35:10 +01:00
Benjamin Otte
36a15720b1
API: gdk: Remove gdk_set_pointer_hooks()
...
Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that
project is long since dead.
It has been superseded in GTK 2.2 by GdkDisplayPointerHooks anyway.
2011-01-03 16:25:18 +01:00
Nguyễn Thái Ngọc Duy
cf752786f3
gdkdnd-x11.c: fix building without HAVE_XCOMPOSITE
...
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2011-01-02 23:40:00 -05:00
Nguyễn Thái Ngọc Duy
98a30bbf3e
gdkcursor-x11.c: fix building without HAVE_XCURSOR
...
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2011-01-02 23:39:55 -05:00
Matthias Clasen
1a87dfdf6d
Fix list handling in gdk_x1_display_init_input
...
Pointed out in bug 638386.
2011-01-02 21:41:30 -05:00
John Ralls
acf13456b1
Fix refresh of static autorelease_pool so that it doesn't happen in gtk-nested loops.
2011-01-02 10:23:20 -08:00
Hans Breuer
1d838f586c
win32: gdk3 resurrection
...
There are sure regressions but basic stuff seems to be working
again after all the API breakage done with comments like
"Win32 and Quartz need to be ported still."
2011-01-02 13:33:04 +01:00
Benjamin Otte
42fbccd3d2
API: gdk: Remove gdk_device_set_source()
...
The source of a device is not changeable.
2010-12-27 20:08:50 +01:00
Benjamin Otte
9746991548
API: gdk: Make gdk_display_get_window_at_device_position() a device API
...
It's now called gdk_device_get_window_at_position(). It doesn't make
sense to keep device-specific API part of the display.
2010-12-27 18:46:41 +01:00
Benjamin Otte
0c285341a9
API: gdk: gdk_display_get_device_state() => gdk_device_get_position()
...
The API was not display-specific, but belonged to the device. Also, we
didn't find a user of the modifier mask, so we dropped it.
2010-12-27 18:46:41 +01:00
Matthias Clasen
48b47971b5
Fix some issues with initial setup of GdkX11DisplayManager
...
We need to defer setting the default display until the
GdkDisplay is fully initialized. Also, short-circuit some
encoding conversions when creating windows, to avoid an
implicit dependency on the display being in the list of
displays yet.
2010-12-27 01:02:52 -05:00
Matthias Clasen
5bc0cf1a19
Fix some more typos
2010-12-25 00:29:23 -05:00
Matthias Clasen
8f816d7c3b
Fix a few typos
2010-12-25 00:26:22 -05:00
Matthias Clasen
27ce9421d0
Fix up GDK docs
2010-12-25 00:02:39 -05:00
Matthias Clasen
436e75c34c
Add deprecation guards for deprecated grab APIs
2010-12-24 20:01:24 -05:00
Matthias Clasen
1d41b98cf8
Add deprecation guards for deprecated GdkAppLaunchContext API
...
Also adapt the docs to not use deprecated API.
2010-12-24 17:37:00 -05:00
Matthias Clasen
29eb3fba5f
Fix gdk_x11_display_text_property_to_text_list
...
This was an incomplete attempt to get rid of the custom free function.
Lets just keep it for now. Bug 637849, patch by Dan Winship.
Also add a test case for this function.
2010-12-24 16:27:31 -05:00
Matthias Clasen
92f163d40a
Consistently hide class structs
...
And, since we've decided to keep the structs private, there is
no point in having the standard GObject clas macros anymore either.
2010-12-24 15:54:12 -05:00
John Ralls
806b6dfa08
Rename GdkQuartzWindow.h and .c to GdkQuartzNSWindow.h and .c
...
Normally HFS+ (the MacOSX file system) isn't case-sensitive, so having both
GtkQuartzWindow.h and gtkquartzwindow.h causes the latter to overwrite the
former during git pull, breaking the build.
2010-12-24 11:29:08 -08:00
Javier Jardón
30cdab13fe
docs: Add docs about how to get a GtkDevice
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=637895
2010-12-24 14:39:55 +01:00
Matthias Clasen
1f9ce46906
Update keymap docs to match current behaviour
...
An overlooked API change in the gdk-backend work: many of the
keymap functions used to accept NULL to mean 'default keymap'.
They no longer do, so update the docs to match the new behaviour.
2010-12-23 10:06:08 -05:00
Kristian Rietveld
374f8e22aa
quartz: internalize _gdk_quartz_window_set_needs_display_in_region
2010-12-23 14:17:42 +01:00
Kristian Rietveld
f0b8dcb4f3
quartz: move gdkgeometry-quartz into gdkwindow-quartz.c
2010-12-23 14:17:42 +01:00
Kristian Rietveld
deffbd9885
quartz: reorder gdkprivate-quartz.h and related clean up
2010-12-23 14:17:42 +01:00
Kristian Rietveld
ac6f50120b
quartz: _gdk_quartz_visual -> gdk_quartz_visual
2010-12-23 14:17:42 +01:00
Kristian Rietveld
1e2907fa02
quartz: _gdk_quartz_screen -> gdk_quartz_screen
2010-12-23 14:17:42 +01:00
Kristian Rietveld
0736544174
quartz: _gdk_quartz_keymap -> gdk_quartz_keymap
2010-12-23 14:17:42 +01:00
Kristian Rietveld
0d8eeb924e
quartz: _gdk_quartz_display -> gdk_quartz_display
2010-12-23 14:17:42 +01:00
Kristian Rietveld
0840b25165
quartz: fix some more typos
2010-12-23 14:17:42 +01:00
Kristian Rietveld
1e814709d7
quartz: fix typo
2010-12-23 14:17:41 +01:00
Kristian Rietveld
fb8717f722
quartz: move utils to gdkutils-quartz.c
2010-12-23 14:17:41 +01:00
Kristian Rietveld
f15934bd66
quartz: remove gdkmain-quartz.c
2010-12-23 14:17:41 +01:00
Kristian Rietveld
caa9794af8
quartz: Clean up header files, use same arrangement as X11 backend
2010-12-23 14:17:41 +01:00
Kristian Rietveld
197590258f
quartz: Make keyboard input work again
2010-12-22 22:33:05 +01:00
Kristian Rietveld
48b6b939d3
Implement process_updates_recurse for GdkOffscreenWindow
...
Makes offscreen windows work again.
2010-12-22 20:41:39 +01:00
Matthias Clasen
03f7e26d26
Don't return PropertyNotify.state as modifier state
...
It isn't, it really is a GdkPropertyState.
Reported by Tim Janik in bug 633795.
2010-12-22 14:33:09 -05:00
Matthias Clasen
3adb7c7a49
Avoid a crash
...
pointed out in bug 533745
2010-12-22 14:08:03 -05:00
Kristian Rietveld
083c556e00
quartz: rename GdkDeviceManagerCore -> GdkQuartzDeviceManagerCore
2010-12-22 17:47:05 +01:00
Kristian Rietveld
59a3d9ae46
quartz: Rename GdkDeviceCore -> GdkQuartzDeviceCore
2010-12-22 17:47:05 +01:00
Kristian Rietveld
e2e4391992
quartz: commit forgotten file
2010-12-22 17:47:05 +01:00
Kristian Rietveld
2e7f14c90f
quartz: GdkDeviceCore: check for NULL pointer
2010-12-22 17:47:04 +01:00
Kristian Rietveld
32731fcb07
quartz: register before/after process all updates
2010-12-22 17:47:04 +01:00
Kristian Rietveld
ab74358b82
quartz: set all methods on window class, not root window class
2010-12-22 17:47:04 +01:00
Kristian Rietveld
552e7be7e5
quartz: set window_type in display_class
2010-12-22 17:47:04 +01:00
Kristian Rietveld
b0ffe16f90
quartz: introduce GdkQuartzWindow (as a subclass of GdkWindow)
2010-12-22 17:47:04 +01:00
Kristian Rietveld
3bc60a8149
quartz: rename GdkQuartzWindow to GdkQuartzNSWindow
2010-12-22 17:47:04 +01:00
Kristian Rietveld
c6fad1d2cb
quartz: fix typo
2010-12-22 17:47:04 +01:00
Kristian Rietveld
c87e878308
quartz: add new files to Makefile.am
2010-12-22 17:47:04 +01:00
Kristian Rietveld
e5695de12b
GdkDisplayManager: register Quartz backend when applicable
2010-12-22 17:47:04 +01:00
Kristian Rietveld
5226ae3ecc
quartz: create gdkdisplaymanager-quartz.h
2010-12-22 17:47:04 +01:00
Kristian Rietveld
f2883fe8eb
quartz: gdkselection-quartz.c: fix typos
2010-12-22 17:47:04 +01:00
Kristian Rietveld
b638515ae0
quartz: re-introduce _gdk_quartz_display_list_devices
2010-12-22 17:47:03 +01:00
Kristian Rietveld
4c663f0474
gdkwindow-quartz: fix typo
2010-12-22 17:47:03 +01:00
Kristian Rietveld
9b4f5a424c
gdk: Fix toplevel makefile to build non-x11 backends again
2010-12-22 17:47:03 +01:00
Kristian Rietveld
6b96c56976
quartz: remove duplicate definition of gdk_flush
2010-12-22 17:47:03 +01:00
Kristian Rietveld
8b4d583cd8
quartz: gdkkeys-quartz.c: remove duplicate function
2010-12-22 17:47:03 +01:00
Kristian Rietveld
3d02a14f4f
quartz: remove duplicate functions from gdkmain-quartz.c
2010-12-22 17:47:03 +01:00
Kristian Rietveld
fbd9fd6a38
quartz: make gdkwindow-quartz.c build again
2010-12-22 17:47:03 +01:00
Kristian Rietveld
c14078f388
quartz: adapt gdkdisplay-quartz.c to new function names
2010-12-22 17:47:03 +01:00
Kristian Rietveld
5f782ed9e7
quartz: add prototype for _gdk_quartz_screen_new()
2010-12-22 17:47:03 +01:00
Kristian Rietveld
1b344ad8e4
quartz: convert GdkVisual
2010-12-22 17:47:02 +01:00
Kristian Rietveld
d024153c96
quartz: Fix screen implementation, rename to GdkQuartzScreen
2010-12-22 17:47:02 +01:00
Kristian Rietveld
cde6dade8f
quartz: Port gdkkeys-quartz.c to new API
2010-12-22 17:47:02 +01:00
Kristian Rietveld
6fe3100f14
quartz: Remove gdkinput code
2010-12-22 17:47:02 +01:00
Kristian Rietveld
e4a0101542
quartz: gdkeventloop-quartz.c: fix
2010-12-22 17:47:02 +01:00
Kristian Rietveld
d0976d9f53
quartz: Fix gdkevents-quartz.c
2010-12-22 17:47:02 +01:00
Kristian Rietveld
b2844cb48b
quartz: Make GdkQuartzDisplay compile
2010-12-22 17:47:02 +01:00
Kristian Rietveld
709b4d4346
quartz: Fix display manager, move over code from gdkmain-quartz.c
2010-12-22 17:47:02 +01:00
Kristian Rietveld
988b8bf96a
quartz: gdkcursor-quartz.h: fix cut-n-paste error
2010-12-22 17:47:02 +01:00
Kristian Rietveld
98b8bf035f
quartz: gdkdevice-core: fix up
2010-12-22 17:47:02 +01:00
Kristian Rietveld
da481666cd
quartz: gdkdevice-core.c: use GdkQuartzCursor
2010-12-22 17:47:01 +01:00
Kristian Rietveld
62273fc08a
quartz: add forgotten file (gdkdnd-quartz.h)
2010-12-22 17:47:01 +01:00
Kristian Rietveld
f4c0c47a1a
quartz: move bits into gdkcursor-quartz.h (private header for now)
2010-12-22 17:47:01 +01:00
Kristian Rietveld
dff3973198
quartz: remove GdkCursorPrivate typedef
2010-12-22 17:47:01 +01:00
Kristian Rietveld
013cbea25f
quartz: Remove API for extension checks
2010-12-22 17:47:01 +01:00
Kristian Rietveld
881ea6e06c
quartz: convert GdkQuartzWindow to new drag context API
2010-12-22 17:47:01 +01:00
Kristian Rietveld
71404825c3
quartz: fix up GdkDragContext conversion
2010-12-22 17:47:01 +01:00
Kristian Rietveld
8cb301762a
Fix typo
2010-12-22 17:47:01 +01:00
Kristian Rietveld
3ace122563
quartz: turn quartz GdkCursor into GObject
2010-12-22 17:47:01 +01:00
Matthias Clasen
bd1ff477ca
Deal with property encoding functions for quartz
2010-12-22 17:47:01 +01:00
Matthias Clasen
de41790470
Implement selection related vfuncs for quartz
2010-12-22 17:47:01 +01:00
Matthias Clasen
762548d303
Implement selection owner vfuncs for quartz
2010-12-22 17:47:01 +01:00
Matthias Clasen
547d674ce5
Implement window property vfuncs for quartz
2010-12-22 17:47:01 +01:00
Matthias Clasen
168b3c13b7
Implement keyval vfuncs for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
9ae2dc0deb
Drop gdk_set_locale from quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
a1b300ecb6
Implement test vfuncs for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
6eb2a3520c
Implement atom-related vfuncs for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
51f149df5e
Implement get_keymap vfunc for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
46352afa6f
Implement create_window_impl vfunc for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
57efe15bda
Drop gdk_spawn functions
...
These have been removed since the implementation was just
a straight wrapper around g_spawn.
2010-12-22 17:47:00 +01:00
Matthias Clasen
9dbe3bd316
Drop unimplemented foreign window functions
...
These have been relegated to backend-specific
2010-12-22 17:47:00 +01:00
Matthias Clasen
b2ff02332f
Implement event_data_{copy,free} for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
4b92625fe0
Implement notify_startup_complete vfunc for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
2f3c7da763
Remove a duplicate doc comment
2010-12-22 17:47:00 +01:00
Matthias Clasen
1a04631707
Implement get_next_serial for quartz
2010-12-22 17:47:00 +01:00
Matthias Clasen
dadbc63f1e
gdk_display_warp_pointer is in the frontend now
2010-12-22 17:46:59 +01:00
Matthias Clasen
a1a0205dad
Implment process_updates_recurse vfunc for quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
3232be603a
Implement has_pending and queue_events vfuncs for quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
733c8fc8e7
Derive GdkDisplayManager for quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
8a9c604b8a
Adapt quartz device code to new ways
...
We will need to rename the Core implementations in X11/Quartz
to not clash, later.
2010-12-22 17:46:59 +01:00
Matthias Clasen
e2fea748d6
Adapt quartz visual code to new ways
...
We may still need a subclass here later, not sure
2010-12-22 17:46:59 +01:00
Matthias Clasen
46e8aadaf8
Rename _gdk_dnd_init
2010-12-22 17:46:59 +01:00
Matthias Clasen
25271f5e9a
Implement dnd vtables for quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
d2ce9ec3dc
Convert a bunch of visual related calls to use the screen vtable, quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
41352f24d6
Convert all GdkScreen methods to vtable calls, quartz backend
2010-12-22 17:46:59 +01:00
Matthias Clasen
f43f259d49
Derive GdkKeymap for Quartz
2010-12-22 17:46:59 +01:00
Matthias Clasen
acd99409b8
Make display method vtable calls, quartz backend
2010-12-22 17:46:59 +01:00
Matthias Clasen
064bfceaad
Convert all gdk_window methods to vtable calls in the quartz backend
2010-12-22 17:46:59 +01:00
Matthias Clasen
367211ed7f
Document WINDOWING macros
2010-12-22 01:43:57 -05:00
Matthias Clasen
3973ef760e
Mention GDK_BACKEND in the docs
2010-12-22 01:32:18 -05:00
Matthias Clasen
b824cdd6db
Fix a blunder in grab handling
...
This was causing segfaults which would go away when compiled with
debug options.
2010-12-21 18:42:30 -05:00
Mike Gorse
2a324ae304
Fix inclusion of gdkconfig.h
2010-12-21 18:18:07 -05:00
Matthias Clasen
fcbfa05347
Drop no-longer-existing header from Makefile
2010-12-21 17:36:50 -05:00
Matthias Clasen
3ca69937f4
Don't install headers twice
2010-12-21 16:37:16 -05:00
Matthias Clasen
940d123de5
Add gdk_disable_multidevice to headers
2010-12-21 14:33:56 -05:00
Matthias Clasen
928fd84ebf
Implement some more vfuncs in GdkOffscreenWindow
2010-12-21 14:20:19 -05:00
Matthias Clasen
82fe7594f9
More include shuffling; keep X extension headers to ourselves
2010-12-21 14:17:02 -05:00
Matthias Clasen
f9e876e265
Fix another typo
2010-12-21 12:32:34 -05:00
Matthias Clasen
b3bd184274
Fix a silly typo
2010-12-21 12:19:03 -05:00
Matthias Clasen
106047ffa4
Detangle includes for GdkDeviceManager subclasses
2010-12-21 12:07:10 -05:00
Matthias Clasen
b1aaa10b6a
Detangle includes for device subclasses
2010-12-21 12:07:10 -05:00
Matthias Clasen
e5090396bf
Forgotten file
2010-12-21 12:07:10 -05:00
Matthias Clasen
bd36374413
Rename GdkAppLaunchContextX11 to GdkX11AppLaunchContext
2010-12-21 12:07:10 -05:00
Matthias Clasen
3fb8c3415b
Rename GdkDragContextX11 to GdkX11DragContext
2010-12-21 12:07:09 -05:00
Matthias Clasen
fdfabea958
Don't export gdk_x11_cursor_finalize
2010-12-21 12:07:09 -05:00
Matthias Clasen
71a515ef17
Get abicheck to almost pass again
2010-12-21 12:07:09 -05:00
Matthias Clasen
b4802e3042
Rename x11-specific GdkDevice[Manager] implementations
...
Make them all fit in the gdk_x11_ prefix, and make the
get_type functions and standard macros available in headers.
2010-12-21 12:07:09 -05:00
Matthias Clasen
5cddc7ccbb
Rename GdkDevice[Manager]Core to GdkX11Device[Manager]Core
...
This is mainly to avoid clash with the classes of the same
name in the quartz backend.
2010-12-21 12:07:09 -05:00
Matthias Clasen
e96c193d06
Rename GdkKeymapX11 to GdkX11Keymap
...
And add a gdkx11keys.h header file.
2010-12-21 12:07:09 -05:00
Matthias Clasen
146fd989d6
Rename GdkDisplayManagerX11 to GdkX11DisplayManager
...
And add a gdkx11displaymanager.h header file.
2010-12-21 12:07:09 -05:00
Benjamin Otte
36893a9ef8
gdk: Make GdkWindow abstract
...
This way backend implementors get an error if they don't set
display_class->window_type to their subclass. And that's exactly what we
want.
2010-12-21 12:07:09 -05:00
Benjamin Otte
dcb03b1085
gdk: Use G_DEFINE_TYPE for GdkWindow
2010-12-21 12:07:08 -05:00
Benjamin Otte
19699989e5
x11: Add a GdkX11Window class for X11 windows
2010-12-21 12:07:08 -05:00
Benjamin Otte
af7afbbe06
gdk: Allow display subclasses to override the type used for windows
...
We want to have different window types for different displays, so we can
write code like this:
#if GDK_WINDOWING_X11
if (GDK_IS_X11_WINDOW (window))
{
/* do x11 stuff */
}
else
#endif
#if GDK_WINDOWING_WAYLAND
if (GDK_IS_WAYLAND_WINDOW (window))
{
/* do wayland stuff */
}
else
#endif
{
/* do stuff for unsupported system */
}
This requires different GdkWindow types and we currently don't have
that, as only the GdkWindowImpl differs. With this method, every backend
defines a custom type that's just a simple subclass of GdkWindow. This
way GdkWindow behaves like all the other types (visuals, screens,
displays) and we can write code like the above.
2010-12-21 12:07:08 -05:00
Benjamin Otte
3036922b3d
gdk: Create windows via _gdk_display_create_window()
...
THe use of this function will become visible in the next commits. But
wrapping g_object_new() is a generally a good idea anyway.
2010-12-21 12:07:08 -05:00
Benjamin Otte
503087dfc9
x11: Export GdkX11Screen
2010-12-21 12:07:08 -05:00
Benjamin Otte
a8b69df376
x11: Rename GdkScreenX11 to GdkX11Screen
2010-12-21 12:07:08 -05:00
Benjamin Otte
b154d3abf6
x11: Export GdkX11Visual
2010-12-21 12:07:08 -05:00
Benjamin Otte
d185987ebd
x11: Rename GdkVisualX11 to GdkX11Visual
2010-12-21 12:07:08 -05:00
Benjamin Otte
86e0a9aef7
x11: Have a proper GdkVisualX11Class struct
2010-12-21 12:07:08 -05:00
Benjamin Otte
21d8160c57
x11: Export GdkX11Cursor
2010-12-21 12:07:08 -05:00
Benjamin Otte
4848bf2719
x11: typedef GdkX11Display to GdkDisplay
...
This is for compatibility reasons. We want to change APIs that operate
on X11 objects to take the X11 objects as arguments. However, this would
break a lot of APIs and we'd like to avoid this, so we play this little
trick (we will use the same trick for the other X11 objects). Also,
gobject-introspection and other bindings can correctly attach the
functions to the correct types as it is the same scheme that GDK2 used
for pixmaps, windows and drawables.
For GTK 4, we will remove this trick, so apps should properly cast their
objects right now.
Unfortunately, I don't think there is a way to use
GDK_DISABLE_DEPRECATED or similar macros to check for proper type casts
while compiling ensure compatibility with future GDK versions. I'm free
to consider them though.
2010-12-21 12:07:07 -05:00
Benjamin Otte
eba4529246
x11: Export GdkX11Display
2010-12-21 12:07:07 -05:00
Benjamin Otte
4db086da4b
x11: Rename GdkDisplayX11 to GdkX11Display
...
Also rename all the macros etc.
2010-12-21 12:07:07 -05:00
Benjamin Otte
8e2240f699
x11: Rename GdkDisplayX11 to GdkX11Display
2010-12-21 12:07:07 -05:00
Benjamin Otte
85bd61778f
API: gdk: GDK_DISPLAY_OBJECT() => GDK_DISPLAY()
...
GDK_DISPLAY_OBJECT is now deprecated. No need to keep failures from
gtk1 around.
2010-12-21 12:07:07 -05:00
Benjamin Otte
04d1459fca
x11: Move remaining APIs into gdkx11utils.h
...
Now gdkx.h is a clean header equivalent to gdk.h.
2010-12-21 12:07:07 -05:00
Benjamin Otte
dd177b5201
x11: Move atom API into gdkx11property.h
2010-12-21 12:07:07 -05:00
Benjamin Otte
ebe46e6f9d
x11: Move selection-specific API into gdkx11selection.h
2010-12-21 12:07:07 -05:00
Benjamin Otte
7949073dd5
x11: Move display-specific APIs into gdkx11display.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
6dfa90f57c
x11: Move screen-specific API into gdkx11screen.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
0ca6a7ab20
x11: Move visual-specific API into gdkx11visual.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
55f3451754
x11: Move cursor API into gdkx11cursor.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
124cf96850
x11: Split out public window API into gdkx11window.h
2010-12-21 12:07:06 -05:00
Benjamin Otte
66f7c3a562
API: gdk: gdk_display_warp_device() => gdk_device_warp()
...
warping devices has nothing to do with displays, so putting it there
seems weird.
2010-12-21 12:07:06 -05:00
Benjamin Otte
7a33592231
gdk: Move gdk_cursor_get_image() to the base class
...
.. and make it call a vfunc on the cursor
2010-12-21 12:07:06 -05:00
Benjamin Otte
60dc856daf
x11: Remove duplicated docs
...
They're in gdk/gdkdisplay.c now.
2010-12-21 12:07:06 -05:00
Benjamin Otte
095d1905a9
x11: Don't keep the display around anymore
...
Use gdk_cursor_get_display() instead.
2010-12-21 12:07:06 -05:00
Benjamin Otte
4793bd3399
gdk: Move gdk_cursor_get_display() out of the backends
...
Now that we store the display inside the cursor, that change is obvious.
2010-12-21 12:07:05 -05:00
Benjamin Otte
7a14b30ea3
gdk: Make display a property of GdkCursor
2010-12-21 12:07:05 -05:00
Benjamin Otte
28b2d7e5da
gdk: Make cursor-type a property of the cursor
2010-12-21 12:07:05 -05:00
Benjamin Otte
3e068e921f
API: gdk: Deprecate gdk_cursor_ref() and gdk_cursor_unref()
...
Now that GdkCursor is a GObject, it doesn't need custom refcount
handling anymore.
2010-12-21 12:07:05 -05:00
Benjamin Otte
a9637f05b6
gdk: Use g_object_(un)ref instead of gdk_cursor_(un)ref
2010-12-21 12:07:05 -05:00
Benjamin Otte
768b425ce6
x11: Use g_object_(un)ref instead of gdk_cursor_(un)ref
2010-12-21 12:07:04 -05:00
Benjamin Otte
0b4913a166
gdk: Make GdkCursor a GObject
...
Also port the X11 implementation. Win32 and Quartz need to be ported
still.
2010-12-21 12:07:04 -05:00
Benjamin Otte
66e3894539
gdk: Move GdkCursor definition into a private header
2010-12-21 12:07:04 -05:00
Benjamin Otte
2eef91ad93
x11: Move GdkCursorPrivate into the C file
2010-12-21 12:07:04 -05:00
Benjamin Otte
8e3afc6e5a
x11: Use public API to access cursor's xcursor
2010-12-21 12:07:04 -05:00
Matthias Clasen
3d5d558393
Downgrade some Since tags
2010-12-21 12:07:04 -05:00
Matthias Clasen
2650328ea8
Add win32 implementation for foreign window functions
2010-12-21 12:07:04 -05:00
Matthias Clasen
58529e69ec
Drop sm_client_id implementation for Quartz
2010-12-21 12:07:04 -05:00
Matthias Clasen
10e23de49e
Drop sm_client_id win32 implementation
2010-12-21 12:07:04 -05:00
Matthias Clasen
00e2b949eb
Reinstate the correct field value
2010-12-21 12:07:03 -05:00
Matthias Clasen
572bb20011
Deal with property encoding functions
...
Move everything dealing with compound text to be X11 specific
Only gdk_text_property_to_utf8_list and gdk_utf8_to_string_target
are kept across backends, so add vfuncs for these.
Also, remove the non-multihead-safe variants of all these.
2010-12-21 12:07:03 -05:00
Matthias Clasen
05497c799a
Add a vfunc for gdk_selection_convert
2010-12-21 12:07:03 -05:00
Matthias Clasen
95868ef00b
Add a vfunc for gdk_selection_property_get
2010-12-21 12:07:03 -05:00
Matthias Clasen
625b8305e9
Add a vfunc for gdk_selection_send_notify_for_display
2010-12-21 12:07:03 -05:00
Matthias Clasen
7e22cf7e50
Rename some private x11 backend functions to _gdk_x11
2010-12-21 12:07:03 -05:00
Matthias Clasen
cc03a6df79
Add vfuncs for get/set_selection_owner
2010-12-21 12:07:03 -05:00
Matthias Clasen
519f09f7f4
Add vfuncs for keyval and window property functions
...
The keyval functions should really be generic, and the window
property api should be completely revisited, but for now this
will allow us to proceed.
2010-12-21 12:07:03 -05:00
Matthias Clasen
fdabc9585d
Drop g[dt]k_set_locale
...
These functions were essentially just calling setlocale anyway.
The X11 version was also setting a gdk_use_mb variable that
is not used anywhere.
2010-12-21 12:07:02 -05:00
Matthias Clasen
afa0ebf36b
Add vfuncs for gdk_test apis
2010-12-21 12:07:02 -05:00
Matthias Clasen
28abd0c75f
Add vfuncs for atoms
2010-12-21 12:07:02 -05:00
Matthias Clasen
62e9bb06a0
Add a vfunc for gdk_keymap_get_for_display
2010-12-21 12:07:02 -05:00
Matthias Clasen
a97b1891b3
Rename private keymap symbols to _gdk_x11_keymap...
2010-12-21 12:07:02 -05:00
Matthias Clasen
1d5afe4880
Rename the _gdk_xid_table functions
2010-12-21 12:07:02 -05:00
Matthias Clasen
55e1031e84
Remove gdk_net_wm_supports
...
This function is totally misnamed, only operates on the default
screen, and has a perfectly fine replacement in
gdk_x11_screen_supports_net_wm_hint.
2010-12-21 12:07:02 -05:00
Matthias Clasen
902fd60a86
Remove the --sync commandline option
...
Remove the --sync option and remove the possibility of backend-specific
commandline options altogether. --sync is being replaced by
a GDK_SYNCHRONIZE environment variable.
2010-12-21 12:07:02 -05:00
Matthias Clasen
b938e71e1d
Remove unused _gdk_use_xshm global
2010-12-21 12:07:01 -05:00
Matthias Clasen
021f595a38
Rename _gdk_window_move_resize_child
...
Rename _gdk_window_move_resize_child and _gdk_window_process_expose
to _gdk_x11.
2010-12-21 12:07:01 -05:00
Matthias Clasen
214342eac5
Clean up gdkx.h a bit
...
Moving the direct-access redefinitions of various macros
to gdkprivate-x11.h and use that header throughout in x11/.
Also remove a workaround for a long-fixed X server bug.
2010-12-21 12:07:01 -05:00
Matthias Clasen
32e3dcfb47
drop dead function
2010-12-21 12:07:01 -05:00
Matthias Clasen
126212b470
Add a vfunc for _gdk_window_impl_new
2010-12-21 12:07:01 -05:00
Matthias Clasen
d5803fa9b2
Get rid of the _gdk_selection_property global
2010-12-21 12:07:01 -05:00
Matthias Clasen
185cdddb0d
Rename _gdk_moveresize functions to _gdk_x11_moveresize
2010-12-21 12:07:01 -05:00
Matthias Clasen
19cf9309a5
Drop gdkx_visual_get
...
The function is badly named, not multihead-safe, basically unused,
and has a better replacement with gdk_x11_screen_lookup_visual.
2010-12-21 12:07:01 -05:00
Matthias Clasen
e11bbbf194
Rename _gdk_xgrab_ apis to _gdk_x11_window_
2010-12-21 12:07:01 -05:00
Matthias Clasen
566abbad25
Rename _gdk_send_xevent to _gdk_x11_display_send_xevent
2010-12-21 12:07:00 -05:00
Matthias Clasen
28b7c6f05d
Rename _gdk_event_mask_table to _gdk_x11_event_mask_table
2010-12-21 12:07:00 -05:00
Matthias Clasen
985eb14469
Multiple changes to reduce the amount of unprefixed symbols
...
The X11 backend exports a number of symbols which are _-prefixed
(so don't become part of the gdk api), but are not named in a
way to prevent accidental clashes between backends.
The one API change here is that the gdk_xid_table functions
have been removed - they did not server an purpose, since the
xid table only stores windows anyway, and we already have a
lookup-by-xid function for windows.
2010-12-21 12:07:00 -05:00
Matthias Clasen
624dc45755
Move event source apis to gdk_x11
...
Reduces the changes of cross-backend collisions
2010-12-21 12:07:00 -05:00
Matthias Clasen
25c66c11e2
Remove gdk_spawn functions
...
These functions were trivial g_spawn wrappers in all backends
except for X11, and they can be easily replaced by
g_app_info_create_for_commandline + GdkAppLaunchContext.
2010-12-21 12:07:00 -05:00
Matthias Clasen
536a7c8abb
Work around issues with events without screens
...
Just use the default display for copy/free of event data.
Maybe the vfuncs should be moved to GdkDisplayManager.
2010-12-21 12:07:00 -05:00
Matthias Clasen
6c16ddc2d3
Make GdkAppLaunchContext work again
...
We didn't set the display, ever. Add a construct-only property
for this purpose.
2010-12-21 12:07:00 -05:00
Matthias Clasen
fa33839d72
Consistently use per-display error traps in the X11 backend
2010-12-21 12:06:59 -05:00
Matthias Clasen
2d7583c0e3
Make gdk_window_{lookup,foreign_new}_for_display backend specific
...
At the same time, make GDK_IS_DISPLAY_X11 available in gdkx.h, and
add some exemplaric ifdefs to GTK+ code.
2010-12-21 12:06:59 -05:00
Matthias Clasen
39a71b8831
Add vfuncs for _gdk_windowing_event_data_{copy,free}
2010-12-21 12:06:59 -05:00
Matthias Clasen
968668629b
Go back to installing libgdk.so
2010-12-21 12:06:59 -05:00
Matthias Clasen
5eb4506b94
Drop the --screen cmdline argument
...
Commandline arguments should go away altogether, but this one
goes first, since we then don't need to worry about
_gdk_windowing_substitute_screen_number anymore.
2010-12-21 12:06:59 -05:00
Matthias Clasen
beaa11be98
Add a vfunc for gdk_notify_startup_complete
...
At the same time, add a display api for this, since it really
is per-display.
2010-12-21 12:06:59 -05:00
Matthias Clasen
a251d3786b
Remove sm-client-id related functions from headers
2010-12-21 12:06:59 -05:00
Matthias Clasen
2186203422
Remove unused get_offsets functions from headers
2010-12-21 12:06:59 -05:00
Matthias Clasen
224726f554
Remove gdk_windowing_{get_device_state,window_at_device_position}
...
The !trusted workaround code is pushed down into the GdkDevice
subclasses, and we use the device vfuncs directly in gdkdisplay.c
2010-12-21 12:06:59 -05:00
Matthias Clasen
9adb974155
Add a vfunc for _gdk_windowing_window_get_next_serial
2010-12-21 12:06:58 -05:00
Matthias Clasen
9635f09623
Move warp functions to the frontend
...
There were already GdkDevice vfuncs for this.
2010-12-21 12:06:58 -05:00
Matthias Clasen
4a74060d63
Make gdk_set_sm_client_id X11-specific
...
This is really not a cross-platform API
2010-12-21 12:06:58 -05:00
Matthias Clasen
ccb6edeb8b
Add vfuncs for process_updates_recurse and the before and after hooks
2010-12-21 12:06:58 -05:00
Matthias Clasen
da216c0665
Add vfuncs for a bunch of cursor functionality to GdkDisplay
2010-12-21 12:06:58 -05:00
Javier Jardón
dfe6ba932c
Don't access GdkDisplay fields directly
...
Use accessors instead.
2010-12-21 12:06:58 -05:00
Matthias Clasen
ea96e5e16f
Explode gdkinternals.h into per-class private headers
...
At the same time, move some more class and instance structs
out of public headers.
2010-12-21 12:06:58 -05:00
Matthias Clasen
ff8a334725
Hide GdkDevice struct
...
Once its hidden, we can kill the GdkDevicePrivate struct too.
2010-12-21 12:06:58 -05:00
Matthias Clasen
b5df501296
Move destroy_foreign comment
2010-12-21 12:06:57 -05:00
Matthias Clasen
218fa6757a
Weed out no longer needed declarations
2010-12-21 12:06:57 -05:00
Matthias Clasen
5fa8791c86
Add a vfunc for _gdk_events_queue
2010-12-21 12:06:57 -05:00
Matthias Clasen
ec9c97752d
Work toward turning GdkDisplayManager into a backend singleton
...
This commit hides the GdkDisplayManager instance and class structs,
adds vfuncs for listing displays, opening displays, and getting and
setting the default display. The X11 backend has a derived
GdkDisplayManagerX11.
The gdk_display_manager_get() function is responsible for deciding on
which of the compiled in backends to use. Currently, it consults the
GDK_BACKEND environment variable and falls back to x11.
2010-12-21 12:06:57 -05:00
Matthias Clasen
9a1cc81acb
Add a vfunc to replace _gdk_windowing_window_destroy_foreign
...
All backends updated.
2010-12-21 12:06:57 -05:00
Matthias Clasen
1e694b4dd8
Add a vfunc for gdk_window_set_composited
2010-12-21 12:06:57 -05:00
Matthias Clasen
7f6ac56e3c
Add a vfunc for gdk_window_set_composited
2010-12-21 12:06:57 -05:00
Matthias Clasen
280e8329b4
Match parameters between headers and doc comment
2010-12-21 12:06:57 -05:00
Matthias Clasen
a169f6e32d
Make GdkDevice parallel-implementable
...
Use the grab and ungrab vfuncs from the frontend instead of the
_gdk_windowing wrappers, and move some things around accordingly.
Again, only the X11 backend has been updated, other backends
need to be updated to match.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c7559f57ed
Hide GdkScreen too
2010-12-21 12:06:56 -05:00
Matthias Clasen
d5c0b92d5d
Hide GdkDeviceManager and GdkDeviceManagerClass
...
And nuke GdkDeviceManagerPrivate at the same time. Again a commit
that only deals with the X11 backend, other backends will need to
catch up.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c6a5074295
Move GdkVisual parallel-implementable
...
It turned out no vfuncs were necessary. I've decided to move
the screen member up to GdkVisual, since it is the same in all
backends. The X11 backend subclasses now, to add the X members
that it needs to keep track of. GdkVisual and GdkVisualClass
are hidden now.
2010-12-21 12:06:56 -05:00
Matthias Clasen
23a2b42216
Fully initialize the ClientMessage struct
...
Otherwise we run into warnings from xdnd_status_filter
2010-12-21 12:06:56 -05:00
Matthias Clasen
8e1d320ce9
Rename _gdk_dnd_init
...
Nonstatic backend-specific functions need an x11 in their name.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c53ec081ce
Add vtables for DND
...
This commit hides GdkDragContext and GdkDragContextClass, adds
vfuncs for most drag context functionality, and turns the X11 DND
implementation into GdkDragContextX11. We also add vfuncs to
GdkDisplay for gdk_drag_get_protocol and to GdkWindow for
gdk_drag_begin, and implemenet them for X11.
Other backends need similar treatment and are broken now.
2010-12-21 12:06:56 -05:00
Matthias Clasen
a843a9d614
Make abicheck work again
2010-12-21 12:06:55 -05:00
Matthias Clasen
06f75b3727
Make GdkAppLaunchContext display-dependent
...
Add a GdkDisplay::get_app_launch_context vfunc, and a
gdk_display_get_app_launch_context that for X11 returns a subclass.
For win32 and quartz, the implementations were trivial, so we
just return a new GdkAppLaunchContext without subclassing. Since
the type of the context now depends on the display,
gdk_app_launch_context_set_display is deprecated.
2010-12-21 12:06:55 -05:00
Matthias Clasen
de84a7b14f
Move gdk_window_lookup to common code
2010-12-21 12:06:55 -05:00
Matthias Clasen
31cd046cd0
Move gdk_add_client_message_filter to common code
2010-12-21 12:06:55 -05:00
Matthias Clasen
8075cfd658
Move gdk_get_display to common code
2010-12-21 12:06:55 -05:00
Matthias Clasen
07d49ee56a
Merge libgdk and libgtk
...
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
macros for each included backend, include it in gdk.h and install
it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
2010-12-21 12:06:55 -05:00
Alexander Larsson
ae146a2817
Convert a bunch of visual related calls to use the screen vtable
2010-12-21 12:06:55 -05:00
Alexander Larsson
f52223f380
Convert all GdkScreen methods to vtable calls
2010-12-21 12:06:54 -05:00
Alexander Larsson
84c03b14e8
Move GdkScreenClass to internal header
2010-12-21 12:06:54 -05:00
Alexander Larsson
8c6162b50c
Convert all gdk_keymap methods to vtable calls
2010-12-21 12:06:54 -05:00
Alexander Larsson
4ad948ec4a
Move GdkKeymapClass definition to internal header
...
This lets us change this without affecting apps.
2010-12-21 12:06:54 -05:00
Alexander Larsson
5fda1669ea
Make display method vtable calls
2010-12-21 12:06:54 -05:00
Alexander Larsson
f1c32f109d
Hide GdkDisplayClass from public header
...
There is no need for apps to access this class, as its only implemented
in the gdk backends, and we want to be free to change it later.
2010-12-21 12:06:54 -05:00
Alexander Larsson
ac7d55c948
Convert all gdk_window methods to vtable calls
2010-12-21 12:06:54 -05:00
Michael Natterer
13f18567e9
gdk: return 0, not NULL from gdk_device_get_n_axes()
2010-12-21 15:16:35 +01:00
Carlos Garnacho
17e97467df
Strengthen checks in functions taking a GdkDevice
...
Docs have also been improved, to make explicit the device
type/source accepted.
2010-12-20 23:08:10 +01:00
Matthias Clasen
eb11430228
Fix gdk symbols after recent changes
2010-12-18 17:39:42 -05:00
Colin Walters
d08ff485f2
gdkwindow: Fix event unref iteration
...
We were double looping previously which caused a NULL deref.
2010-12-17 15:41:15 -05:00
Colin Walters
806c04411d
gdk: Fix GdkWindowFilter internal refcounting
...
Running gnome-shell under valgrind, I saw the attached invalid write.
Basically we can destroy a window during event processing, and the old
window_remove_filters simply called g_free() on the filter, ignoring
the refcount. Then later in event processing we call filter->refcount--,
which is writing to free()d memory.
Fix this by centralizing list mutation and refcount handling inside
a new shared _gdk_window_filter_unref() function, and using that
everywhere.
==13876== Invalid write of size 4
==13876== at 0x446B181: gdk_event_apply_filters (gdkeventsource.c:86)
==13876== by 0x446B411: _gdk_events_queue (gdkeventsource.c:188)
==13876== by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410)
==13876== by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317)
==13876== by 0x4AB7159: g_main_context_dispatch (gmain.c:2436)
==13876== by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087)
==13876== by 0x4AB806A: g_main_loop_run (gmain.c:3295)
==13876== by 0x8084D6B: main (main.c:722)
==13876== Address 0x1658bcac is 12 bytes inside a block of size 16 free'd
==13876== at 0x4005EAD: free (vg_replace_malloc.c:366)
==13876== by 0x4ABE515: g_free (gmem.c:263)
==13876== by 0x444BCC9: window_remove_filters (gdkwindow.c:1873)
==13876== by 0x4454BA3: _gdk_window_destroy_hierarchy (gdkwindow.c:2043)
==13876== by 0x447BF6E: gdk_window_destroy_notify (gdkwindow-x11.c:1115)
==13876== by 0x43588E2: _gtk_socket_windowing_filter_func (gtksocket-x11.c:518)
==13876== by 0x446B170: gdk_event_apply_filters (gdkeventsource.c:79)
==13876== by 0x446B411: _gdk_events_queue (gdkeventsource.c:188)
==13876== by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410)
==13876== by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317)
==13876== by 0x4AB7159: g_main_context_dispatch (gmain.c:2436)
==13876== by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087)
https://bugzilla.gnome.org/show_bug.cgi?id=637464
2010-12-17 12:07:37 -05:00
Carlos Garnacho
2c8c1c6df4
Remove *_set_extension_events() and old API to query devices.
...
The old functions to get core pointer and devices list are gone as
well. This slice is entirely replaced internally by multidevice
handling and may just go.
2010-12-17 16:25:14 +01:00
Carlos Garnacho
ec82d133b1
Remove debug messages from GdkDevice
2010-12-15 15:48:43 +01:00
Benjamin Otte
88767b0af7
gdk: Don't use NULL for integers
2010-12-15 14:51:25 +01:00