Commit Graph

4451 Commits

Author SHA1 Message Date
Alexander Larsson
084003953d broadway: Make broadway port configurable with BROADWAY_DISPLAY 2011-03-14 15:58:55 +01:00
Alexander Larsson
9214796a4d broadway: Report right coordinates on ungrab enter 2011-03-14 15:46:29 +01:00
Alexander Larsson
99d194b747 broadway: Fix various typos in mouse button event reporting 2011-03-14 15:24:25 +01:00
Alexander Larsson
ca203adc73 broadway: Fix up grab events, its "mode" not "detail" we send 2011-03-14 12:13:21 +01:00
Alexander Larsson
a1de735b87 broadway: Track button state 2011-03-14 12:09:19 +01:00
Alexander Larsson
e53abee805 broadway: Fix time in ungrab 2011-03-14 12:02:18 +01:00
Alexander Larsson
95b19bca33 broadway: Implement pointer grabs 2011-03-14 11:52:46 +01:00
Alexander Larsson
7d2ff79ddf broadway: Fix some window coordinate reporting issues 2011-03-14 11:28:57 +01:00
Alexander Larsson
cf6bf44184 broadway: Remove debug code and fix whitespace issues 2011-03-14 11:21:37 +01:00
Alexander Larsson
c2ce462486 broadway: Add debug logging framework for js 2011-03-14 10:05:24 +01:00
Alexander Larsson
e2f8215751 broadway: Fix typo that broke window hiding 2011-03-14 09:51:54 +01:00
Alexander Larsson
6713fe9ca4 broadway: Get query_state window coords from browser side 2011-03-11 21:39:11 +01:00
Alexander Larsson
27848432c7 broadway: Split out getPositionsFromAbsCoord from getPositionsFromEvent 2011-03-11 21:28:39 +01:00
Alexander Larsson
54905a8986 broadway: Fix up a bunch of js style issues 2011-03-11 21:12:57 +01:00
Alexander Larsson
cc808ae063 broadway: Move event coordinate calculation to browser side 2011-03-11 21:10:23 +01:00
Alexander Larsson
0cefd54122 broadway: Implement pointer query_status 2011-03-11 14:56:31 +01:00
Alexander Larsson
614eb3b3d7 broadway: Add _gdk_broadway_display_block_for_input 2011-03-11 14:45:13 +01:00
Alexander Larsson
e08396450d broadway: Break out websockets parsing and message processing
We need this to be able to correctly handle the recieve buffer
during message processing. Without the split we would be
recursing over the use of it.
2011-03-11 14:41:03 +01:00
Alexander Larsson
7c12e5f27e broadway: Implement gdk_display_flush 2011-03-11 14:37:39 +01:00
Alexander Larsson
71aa55d291 broadway: Call device vfunc to get device state
We want only one place where we get device state.
2011-03-11 08:26:37 +01:00
Benjamin Otte
0c37c88147 gdk: Use CAIRO_OPERATOR_SOURCE when painting double-buffered buffer
Otherwise RGBA surfaces will have issues.

This patch only affects non-implicit paints, ie no paints at all in the
real world.
2011-03-11 02:10:47 +01:00
Benjamin Otte
2a2ad8523f gdk: Add GDK_RENDERING environment variable
It's useful for debugging rendering issues, both correctness and
performance wise.

See the added documentation for what it does and how it works.
2011-03-11 02:10:47 +01:00
Alexander Larsson
0fa32e98a4 broadway: Change input handling to use polling rather than async reads
We do this because we need to be able to switch to using sync reads
when we're doing a roundtripping call, and that is too complex
with the async code.
2011-03-10 21:22:19 +01:00
Alexander Larsson
d4e2414d4a broadway: Add serial tracking and roundtripping 2011-03-10 14:58:47 +01:00
Alexander Larsson
3914d0af38 broadway: Clean up protocol message writing a bit
Centralize the header writing so we can extend it later.
Don't opencode the size of element when increasing p.
2011-03-10 13:59:30 +01:00
Alexander Larsson
4765f37484 Merge branch 'gtk-3-0' into broadway
Conflicts:
	gdk/gdkdisplaymanager.c
2011-03-10 10:51:04 +01:00
Tristan Van Berkom
713fd43c8f Fixed gdk_window_beep() to pass the toplevel instance to the toplevel's implementation vfunc.
This incorrect assignment would cause asynchronous aborts from the X server
(they would occur if for instance, an offscreen GtkTreeView calls
gtk_widget_error_bell()).
2011-03-10 14:10:32 +09:00
Alexander Larsson
a3b2840cae Remove support for GDK_NATIVE_WINDOWS
GDK_NATIVE_WINDOWS was a way to keep some old apps running that did weird
things in gtk2. We should not have to carry this forwards in gtk 3.x.

We do however keep a g_warning() call reminding people of this fact to
ease debugging when they try to port their applications.

https://bugzilla.gnome.org/show_bug.cgi?id=644119
2011-03-08 23:13:39 +01:00
Benjamin Otte
8d1b7362b3 x11: Copy from actual window, not parent
This code is a relic from GTK2 days and should not be necessary anymore,
as code now makes sure to only copy those parts of the window that are
not overlapped by parent windows.

By deleting it we fix potential issues with composited and translucent
windows copying the wrong data.

https://bugzilla.gnome.org/show_bug.cgi?id=643416
2011-03-07 17:45:08 +01:00
Carlos Garcia Campos
7aeb3c725b xi2: Ignore button release events of button 4-7
We treat button presses of button 4-7 as scroll wheel events, so release
events should be ignored.

https://bugzilla.gnome.org/show_bug.cgi?id=643925
2011-03-06 12:42:02 +01:00
Matthias Clasen
1442fe9694 Don't distribute gdkconfig.h
https://bugzilla.gnome.org/show_bug.cgi?id=643440
2011-03-02 22:17:02 -05:00
Kristian Høgsberg
fcd58b0ffd wayland: Add modifier masks for meta, hyper and super keys
Makes alt keybindings work in vte.
2011-03-01 11:33:07 -05:00
Kristian Høgsberg
0e1041a8af wayland: Add another cursor (left-ptr) 2011-03-01 11:32:05 -05:00
Michael Natterer
033bd235b7 gdk: add precondition checks to many GdkDisplay functions
instead of crashing in GDK_DISPLAY_GET_CLASS(NULL)->foo(NULL);
2011-02-28 17:36:06 +01:00
Michael Natterer
8ee9e132e1 gdk: gdk_x11_device_xi2_get_state(): move stuff to local scope 2011-02-27 15:06:41 +01:00
Matthias Clasen
7df2ce8eab Drop _gdk_x11_set_input_focus_safe
All that this function did was to asynchronously catch errors.
Since we have asynchronous error traps now, we can just use
XSetInputFocus().
2011-02-26 22:16:01 -05:00
Kristian Høgsberg
287d91e5f9 Merge remote-tracking branch 'origin/master' into gdk-backend-wayland
Conflicts:
	gdk/gdkdisplaymanager.c
2011-02-26 14:44:29 -05:00
Carlos Garcia Campos
651410fa2a Copy event axes for double/triple click events in gdk_event_copy()
Button event axes for double/triple click events are freed by
gdk_event_free(), so copy them to avoid an invalid free when releasing a
copied event.
2011-02-25 09:13:35 +01:00
Alexander Larsson
0b0f110152 Avoid spurious emissions of monitors-changed
The monitor change detection code in _gdk_x11_screen_size_changed() and
process_monitors_change() goes to some length to make sure its only emitted
when there is an actual change to the data visible via the GdkScreen monitors
api.

However, commit 662e69ad added some code that always emits "monitors-changed"
in _gdk_x11_screen_size_changed when we have randr13 and get a ConfigureNotify
on the root window (even though we may already have emitted it in the
RRScreenChangesNotify event!).

As far as I can tell this is due to a comment in the bug referenced by the
commit (https://bugzilla.gnome.org/show_bug.cgi?id=601712#c4) where it says:

  This version of the patch changes GdkDisplay to emit "monitors-changed" when
  the primary monitor changes (see the change in _gdk_x11_screen_size_changed).

And, if you remove this part of the change the signal is not emitted when just
the primary is changed. However, this is not really the right approach. We
should just also check for if the primary changes in process_monitors_change()
to avoid spurious signal emissions.

https://bugzilla.gnome.org/show_bug.cgi?id=643216
2011-02-24 19:47:02 +01:00
Murray Cumming
f91c04e284 Minor documentation improvements
Mostly correcting it's to its and changing some , to .
2011-02-23 10:26:21 +01:00
Murray Cumming
31419f2026 GdkDevice: Minor improvement to the overview documentation.
The last paragraph still seems to be out of place though, as if it
was a previous attempt at an overview or part of some older text
elsewhere.

This overuses the passive too.
2011-02-23 09:37:06 +01:00
Marc-André Lureau
f598f75dfb gdk_cursor_new_from_pixmap: Fix gdk_display_is_closed call
This was typoed in commit dfe6ba932c
https://bugzilla.gnome.org/show_bug.cgi?id=642843
2011-02-20 20:11:13 -05:00
Tor Lillqvist
acc01ac944 Tweak include order a bit to get around compilation errors
wintab.h defines an INT() macro that interfers with some lines in
commctrl.h.
2011-02-20 23:56:13 +02:00
Tor Lillqvist
8e6932f46e Handle emulated keyboard input that arrives as VK_PACKET
Fixes bug #642772. Thanks to the anonymous bug reporter for providing
a test program.
2011-02-20 01:39:13 +02:00
Carlos Garnacho
3f78b251b9 Free event axes for double/triple click events.
The button event axes are copied over when synthesizing
these events, so free them as well in gdk_event_free().
2011-02-17 20:45:32 +01:00
Martin Nordholts
a3f52949c4 Bug 633291 - Handle Shift-keys in X11 gdk_test_simulate_key()
If a level 1 key maps to a key value passed to
gdk_test_simulate_key(), raise the GDK_SHIFT_MASK flag so the reqested
key value is generated. Also add a regression test for this fix.
2011-02-13 12:57:01 +01:00
Benjamin Otte
33a46dd553 gdk: Select the X11 backend a the last possible backend
On Windows and OS X we want to prefer the native backends over the X11
backend.
On Linux, nothing changes as nobody is going to enable those backends
(and if they do, they'll know what they get).
2011-02-12 22:09:58 +01:00
Matthias Clasen
728a45fc1f Remove confusion over XI2 defines
Some places were using XINPUT_2, others XINPUT_XI2. Since configure
defines XINPUT_2, use that throughout.
2011-02-11 23:30:01 -05:00
Benjamin Otte
de9a082ddb x11: Make headers identical no matter if we run with or without XI2
Previously we weren't installing the device headers when compiling
without XINPUT support. But we would include them from gdkx.h, so
essentially the build was broken.

With this patch the types will exist but not do anything.
2011-02-12 01:27:40 +01:00
Benjamin Otte
30abd4d8b5 x11: Fix struct definition for GdkDeviceManagaerXI2 2011-02-12 00:16:03 +01:00
Benjamin Otte
e9ff457a40 x11: Make the device manager struct actually subclass the correct device 2011-02-11 23:53:14 +01:00
Benjamin Otte
b1f2e5bfa3 x11: Fix build without Xinput
Missing ifdefs
2011-02-11 23:21:11 +01:00
Kristian Høgsberg
b5134619a0 wayland: Map transient surfaces as such 2011-02-11 17:20:14 -05:00
Kristian Høgsberg
1cd65aea53 wayland: Only set x, y, and modifiers if the pointers are non-NULL 2011-02-11 17:07:19 -05:00
Kristian Høgsberg
152dca40d3 wayland: Remove window cursor hash 2011-02-11 10:06:56 -05:00
Alexander Larsson
d8f061ad42 [broadway] Update to new GDK backend APIs 2011-02-11 15:59:50 +01:00
Kristian Høgsberg
ffe3af7f1c wayland: There's only one screen 2011-02-11 09:56:58 -05:00
Kristian Høgsberg
6eac07d4f6 wayland: Trim some unused struct fields 2011-02-11 09:50:10 -05:00
Alexander Larsson
e68774325e [broadway] Update to new library name 2011-02-11 15:38:41 +01:00
Alexander Larsson
d4add8cefa Merge branch 'master' into broadway 2011-02-11 15:27:54 +01:00
Chun-wei Fan
7cb41b6561 gdk/gdkconfig.h.win32: Make it more up-to-date
Make this pre-configured file to be more like the one used by the existing
X11 version, but using GDK_WINDOWING_WIN32 for obvious reasons.
2011-02-11 18:07:05 +08:00
Kristian Høgsberg
f2ac8c7ce3 wayland: Drop empty gdkscreen-wayland.h 2011-02-10 23:00:12 -05:00
Kristian Høgsberg
4ca3e53a3e wayland: Drop GdkToplevelWayland and gdkwindow-wayland.h 2011-02-10 22:51:23 -05:00
Kristian Høgsberg
cd91551075 wayland: Fix resizing from other corners than just botton-right 2011-02-10 22:37:51 -05:00
Kristian Høgsberg
cfb9c840e5 wayland: Remove some fprintf debug messages 2011-02-10 22:22:42 -05:00
Kristian Høgsberg
6d20bcb848 wayland: Fix hiding and withdrawing surfaces 2011-02-10 22:21:08 -05:00
Kristian Høgsberg
22b9132ae5 wayland: Keep a reference to the surface we last attached 2011-02-10 22:04:26 -05:00
Kristian Høgsberg
3b205de896 wayland: Port over missing xkb functionality from X11 backend 2011-02-10 20:34:14 -05:00
Kristian Høgsberg
0db8663e44 wayland: Copy gdk_wayland_keymap_translate_keyboard_state from X11 backend 2011-02-10 16:35:38 -05:00
Kristian Høgsberg
f0fe810999 wayland: Adjust the hw keycode in key events for min_key_code 2011-02-10 16:34:40 -05:00
Matthias Clasen
524ce69bcb 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.
2011-02-10 14:41:02 -05:00
Kristian Høgsberg
c3955ea0c2 wayland: Add a few more cursors 2011-02-10 14:08:53 -05:00
Kristian Høgsberg
df0815470c wayland: Return surface coordinates and mask in window_at_position 2011-02-10 13:42:59 -05:00
Kristian Høgsberg
4621c6476c wayland: Send visibility event after map 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
9e1a0a1bec wayland: Fix indentation 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
df57389190 wayland: Unref the keyboard focus surface when losing keyboard focus 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
f62e4a02b6 wayland: Use GDK_NOTE for logging event debug messages 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
9f0ed18d5a wayland: Set event screen 2011-02-10 10:57:33 -05:00
Kristian Høgsberg
1b918d1b93 wayland: Pretend selection works, print debug message 2011-02-10 10:54:10 -05:00
Kristian Høgsberg
3beb09adca wayland: Copy translate_keyboard_string() form x11 backend 2011-02-10 10:53:31 -05:00
Kristian Høgsberg
0583603b09 wayland: Actually return device in _gdk_wayland_device_get_device() 2011-02-10 10:49:51 -05:00
Kristian Høgsberg
f7f1b59e05 wayland: Handle blank cursor 2011-02-10 10:49:09 -05:00
Kristian Høgsberg
de82b82dd8 wayland: Clear modifier mask before restoring from keyboard_focus value 2011-02-09 16:36:15 -05:00
Kristian Høgsberg
c36dfccc64 wayland: Consolidate device and devicemanager implementation 2011-02-09 15:27:08 -05:00
Kristian Høgsberg
3ef3433511 wayland: Support setting cursors
And a handful unrelated cleanups.  Still doesn't really have an answer
for cursor themes.
2011-02-09 14:48:31 -05:00
Matthias Clasen
8291530abf More GDK documentation tweaks 2011-02-09 02:44:19 -05:00
Garrett Regier
adef25626e Fix annotation that broke the docs
It was added in 0e795b67c3
and removed in f6cc08fa57.
2011-02-08 23:06:42 -08:00
Matthias Clasen
1f4bb70bac Give the GDK docs some love
Reorganize some sections, drop the largely redundant multihead
section, add some more information about multiple backends.
2011-02-09 01:32:24 -05:00
Matthias Clasen
f6cc08fa57 Remove annotation that breaks the docs
Before adding annotations, please check that gtk-doc can handle
them. Else they will be stripped out again.
2011-02-08 20:00:27 -05:00
Kristian Høgsberg
546069f434 wayland: Use wayland-egl 2011-02-08 16:02:22 -05:00
Johan Dahlin
60e0acfc11 Remove tab as it confused g-ir-scanner 2011-02-08 13:20:53 -02:00
Colin Walters
7711f9fad4 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.
2011-02-08 10:16:55 -05:00
Kristian Høgsberg
541d5172dd Track 2.99.3 API changes 2011-02-08 08:12:59 -05:00
Benjamin Otte
c1f8330a28 gdk: Fix typo in documentation string 2011-02-08 08:58:49 +01:00
Hans Breuer
b41ee31a16 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*()
2011-02-06 15:07:13 +01:00
Kristian Høgsberg
1149c342bf Clean up buffer handling a bit 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
846e2c0eee Remove leftover _gdk_windowing_set_cairo_surface_size() 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
a65fcd0859 Hook up xkb_keysym_to_string and xkb_string_to_keysym 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
7d29070faf Implement GdkKeymap using libxkbcommon 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
799279daf0 Invalidate window on configure
This will trigger a repaint of the window, but it may be more efficient
to just copy back the old surface contents and let gtk+ just update the
changed parts.
2011-02-05 16:11:54 -05:00
Kristian Høgsberg
56de871bf3 Create and attach buffer at process_updates time
This way we don't try to show the buffer until we've handle the initial
expose.
2011-02-05 16:11:54 -05:00
Kristian Høgsberg
7bbc158217 Remove copy of grab enum that's now in wayland core 2011-02-05 16:11:54 -05:00
Kristian Høgsberg
e6c1f5d94d Dont iterate the display if there's nothing to write 2011-02-05 16:11:54 -05:00
Kristian Høgsberg
590f3dfa1f Add Wayland backend 2011-02-05 16:11:54 -05:00
Matthias Clasen
eaba2cd468 XI2: translate group state back into core state
This is necessary to make the key event translation work
as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=641367
2011-02-04 21:11:40 -05:00
Matthias Clasen
d4c1dbe3d7 Pass group state to _gdk_x11_device_xi2_translate_state
This will be necessary to make groups work with XI2.
2011-02-04 21:11:40 -05:00
Matthias Clasen
2c352f51a0 Share code to fill GdkEventKey.string
This code was duplicated between the core and XI2 device manager
implementations.
2011-02-04 21:11:40 -05:00
Matthias Clasen
08f90b71a2 Add translation entries for more common keysyms
In particular, the XF86 keysyms can benefit from a translation
that strips the prefix.
2011-02-04 15:33:36 -05:00
Matthias Clasen
9ba009a8eb Remove debug spew 2011-02-04 14:05:22 -05:00
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