summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* Fix out of source tree building for gdk/broadwayJean Parpaillon2012-10-221-2/+2
| | | | | | This patch fix compilation when building out of source tree (gdk/broadway dir). Signed-off-by: Colin Walters <walters@verbum.org>
* wayland: Update to reflect protocol changesScott Moreau2012-10-196-44/+28
|
* Add gdk version macros for 3.8Stefano Facchini2012-10-171-0/+14
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=684288
* quartz: Actually use the window background PATTERN colorKristian Rietveld2012-10-091-1/+1
| | | | | | | Before we used a window's background color, which resulted in corrupted display in some cases, presumably because we didn't reset the active pattern. This patch seems to eliminate the observed corruption. (cherry picked from commit 0e42cf81f1dad319489e447c6c4e640bed2ab915)
* gdk: only emit display-opened after the default display has been setCosimo Cecchi2012-10-082-3/+7
| | | | | | | This avoids a case where the display has been opened, but calling gdk_display_get_default() in the callback doesn't work. Reviewed-by: Benjamin Otte <otte@redhat.com>
* x11: Put function in header, don't declare them externBenjamin Otte2012-10-062-4/+4
|
* gdk: Ignore headers for declared functionsBenjamin Otte2012-10-064-1/+6
|
* Make process_all_updates draw synchronouslyAlexander Larsson2012-10-021-0/+5
| | | | | | | | | | | | | | | | | By calling XSync in _gdk_x11_display_after_process_all_updates we effectively make gdk rendering sync, which avoids problems with the client animations running faster than the Xserver rendering, thus filling up the X rendering pipes and essentially "locking up" the Xserver (i.e. you can't even close the offending window because the WM is starved too). I verified this worked by making GtkSpinner paint multiple times on my intel driver (which has some issue making this rendering slow atm), and without this patch i get severe lag where even window dragging stops for 5 seconds when i drag the mouse around. However, with the patch everything is smooth. https://bugzilla.gnome.org/show_bug.cgi?id=684639
* broadway: Use binary websockets if availableAlexander Larsson2012-10-014-19/+172
|
* broadway: Output message data directly to bufferAlexander Larsson2012-10-011-162/+93
| | | | | This cleans up the code, as well as allows later format changes for e.g. binary websockets
* broadway: Encode urls directly into message bufferAlexander Larsson2012-10-011-56/+52
| | | | No need for a temporary buffer
* broadway: Restructure outputAlexander Larsson2012-10-011-25/+27
| | | | | Now we queue all output commands in a single buffer, to ensure we send everything in a single op even for v7plus.
* broadway: Fix indentationAlexander Larsson2012-10-011-22/+22
|
* broadway: Detect binary websockets supportAlexander Larsson2012-10-012-9/+23
|
* broadway: Centralize cmd parsingAlexander Larsson2012-10-011-79/+75
| | | | | This clean up things, as well as prepares for new message formats such as binary websockets.
* window: Fail if the parent window and the visual don't matchBenjamin Otte2012-09-281-0/+5
| | | | They must be on the same screen.
* quartz: Fix garbage content when windows are initially mappedKristian Rietveld2012-09-281-0/+19
| | | | | | The garbage would be visible if any widget enabled the toplevel NSView's CALayer in order to do custom native rendering. (cherry picked from commit 92ea94af5f1a4d0970628b58997192ccf74cab36)
* Fix gdk docs buildMatthias Clasen2012-09-181-1/+1
| | | | | This took far too long: The actual problem turned out to be an unclosed <SECTION> in gdk3-sections.txt.
* GdkWindow: remove reference to a long-removed exampleMatthias Clasen2012-09-181-19/+0
|
* quartz: Bug 674108 - Hard crash due to wrong NSAutoreleasePool stackingMichael Natterer2012-09-141-16/+29
| | | | | | | | | | Apply patch from Kristian Rietveld which addresses two issues in gdkeventloop-quartz.c: This patch moves the autorelease pool drain and introduces protection against the invalidated ufds. Basically, when we suspect ufds has been invalidated by a recursive main loop instance, we refrain from calling the collect function. (cherry picked from commit 79b3326eaab18b942bd7e03ae8d24544182cb3dd)
* Implement gtk-primary-button-warps-slider GtkSettingKristian Rietveld2012-09-111-0/+65
| | | | | | Make GtkRange honor the setting and implement it in the quartz backend, it proxies the "click in the scroll bar to" property from the OS X PrefPane.
* gdk: s/availible/available/Bastien Nocera2012-09-101-1/+1
|
* gdk: fix GI annotation and document for {map,add}_virtual_modifiersDaiki Ueno2012-09-101-6/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=677559
* Be more strict in ignoring ineffective modifiersMatthias Clasen2012-09-091-3/+3
| | | | | | | After my recent fix for this, nautilus was still having problems telling keeping F10 and Shift-F10 apart. With this change, we are treating levels with the same symbol like inactive levels, ignoring them entirely.
* Protect sectond call of nsevent hasPreciseScrollingDeltas from pre-LionJohn Ralls2012-09-031-1/+3
|
* Try harder to discriminate Shift-F10 and F10Matthias Clasen2012-09-011-5/+15
| | | | | | | | | | | | | | | | | | | | | | A change in xkeyboard-config 2.4.1 made it so that function keys now have a shift level which has the same symbol, but 'eats' the shift modifier. This would ordinarily make it impossible for us to discriminate between these key combinations. This commit tries harder to discriminate in 2 ways: - XKB has a mechanism to tell us when a modifier should not be consumed even though it was used in determining the level. We now respect such 'preserved' modifiers. This does not fix the Shift-F10 vs F10 problem yet, since xkeyboard-config does not currently mark Shift as preserved for function keys. - Don't consume modifiers that do not change the symbol. For the function keys, the symbol on the shift level is the same as the base level, so we don't consider Shift consumed. For more background on the xkeyboard-config change, see https://bugs.freedesktop.org/show_bug.cgi?id=45008 https://bugzilla.gnome.org/show_bug.cgi?id=661973
* Remove gdk_window_flush_if_exposing as its not needed anymoreAlexander Larsson2012-08-231-32/+0
| | | | | | | | | We no longer support modifying GdkWindow hierarchies during expose events. This is not working anymore anyway as the flush operation now does not push already rendered pixels in the flushed window from the double buffer to the window. https://bugzilla.gnome.org/show_bug.cgi?id=679144
* Fix flashing in non-double-buffered widgetsAlexander Larsson2012-08-231-35/+30
| | | | | | | | | | | | Avoid copying back partially drawn double-buffer data when flushing to avoid flicker. This means non double buffered widgets must draw opaque pixels in its expose handlers, and that you are not allowed to use direct rendering (or modify GdkWindow pos/size/order) from inside the expose handler of a double buffered widget. See https://bugzilla.gnome.org/show_bug.cgi?id=679144 for more details
* gdkwindow.c: Fix up window debug codeAlexander Larsson2012-08-231-6/+44
| | | | Make this build and fully print clip regions.
* Avoid unnecessary window flushesAlexander Larsson2012-08-231-2/+3
| | | | | | | | The code was calling _gdk_window_ref_cairo_surface in a few places where the intent was not to read/write to the surface, but just look at its type (to e.g. create a similar surface). This is bad, as that operation causes a flush which may cause unnecessary work and/or flashing. Instead we just get the impl surface in these cases.
* quartz: add evil casting to make sure time wraps correctly on 32bit machinesMichael Natterer2012-08-231-2/+5
| | | | | | get_time_from_ns_event(): apply patch from Michael Hutchinson which makes sure the returned guint32 wraps correctly on 32 bit machines when the uptime exceeds 2^32 ms.
* Implement gdk_quartz_keymap_lookup_keyJohn Ralls2012-08-221-5/+3
|
* Leave GDK_THREADS_ENTER/LEAVE visible for nowMatthias Clasen2012-08-061-4/+0
| | | | | | | | | | Not defining these macros at all causes harsh build breakages. Better to leave them defined (but documented as deprecated) for now. Everybody will still get the deprecation warnings for the underlying gdk_threads_enter/leave. We can hide the macros again later on when the world has had some time to port off GDK threads.
* Expand the thread deprecation documentationMatthias Clasen2012-08-011-1/+3
| | | | | | | The story is slightly different for applications vs libraries; make it clear that libraries should continue using the lock so we don't break applications that haven't been ported to the 'single thread' model yet.
* Improve threading documentationMatthias Clasen2012-07-301-4/+13
| | | | | | This commit just adds a small section to the threading documentation about the deprecation. More is needed here, including a migration example.
* gdk: Deprecate thread functionsMatthias Clasen2012-07-302-0/+34
| | | | | | | | | | | | This commit deprecates gdk_threads_init, gdk_threads_enter, gdk_threads_leave and gdk_threads_set_lock_functions. Using GTK+ from multiple threads does not work at all on Windows, and is problematic on other platforms as well. We want to move to a world where all GTK+ calls are made from the main thread. Use g_main_context_invoke, g_idle_add and related functions if you need to schedule GTK+ calls from other threads. http://bugzilla.gnome.org/show_bug.cgi?id=680754
* gdk: Don't use GDK_THREADS_ENTER/LEAVE macros internallyMatthias Clasen2012-07-308-32/+34
| | | | | | These are just wrappers for the functions, and we want to deprecate them. Stopping to use them internally is a good first step.
* wayland: Fallback to setting transient windows if no seat availableRob Bradford2012-07-181-13/+15
| | | | | | If we don't have a wl_seat - because a grab hasn't been initialised by GTK+ then fallback to making the shell surface transient to the parent rather than a popup surface.
* wayland: Don't compare against GdkWindowTypeHint as a bitmaskRob Bradford2012-07-181-3/+3
| | | | | The hint was being compared as a bitmask which means types that were not in the list were being erroneously matched
* wayland: Add default settings implementation for Wayland backend.José Dapena Paz2012-07-171-2/+68
| | | | Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Initial version of keyboard key event handlingJosé Dapena Paz2012-07-162-455/+205
| | | | | | | | | Review comment: I think the implementation of the vfuncs in gdkkeys-wayland.c depend on that we're using the keysysm as the hardware keycode. I think that needs to be evaluated for the future. But for now this patch gives reasonably complete keyboard input. Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Hook up _get_num_lock / _get_caps_lock to read from XKB stateJosé Dapena Paz2012-07-161-2/+4
| | | | Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Remove unused function declarationRob Bradford2012-07-161-1/+0
|
* wayland: Remove annoying whitespaceRob Bradford2012-07-161-1/+0
|
* wayland: Create and expose an xkb_state on the keymap objectJosé Dapena Paz2012-07-162-2/+6
| | | | | | | This is then logically associated with the input device since each (keyboard) input device has its own keymap. Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Refactor the keymap handling so it is associated with deviceJosé Dapena Paz2012-07-164-71/+65
| | | | | | | | Although GDK expects the keymap to be associated with the display under Wayland this is really associated with the input device so expose this by finding the first keyboard device. Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Use the correct union member for axis eventsRob Bradford2012-07-161-1/+1
| | | | | Otherwise we end up overriding other members of the struct (in this case the device pointer) and generate an error.
* wayland: implementation of pointer_handle_axis.José Dapena Paz2012-07-161-0/+35
| | | | | | | | We translate wayland pointer axis events to GDK smooth scroll events, to implement pointer_handle_axis events. https://bugzilla.gnome.org/show_bug.cgi?id=679986 Signed-off-by: Rob Bradford <rob@linux.intel.com>
* wayland: Implement the keyboard_enter/keyboard_leave eventsRob Bradford2012-07-161-0/+45
| | | | This code is derived from the old keyboard focus change event handling.
* wayland: data_device.data_offer now has a safe object wrapperRob Bradford2012-07-161-8/+2
| | | | | The prototype for the listener has changed to provide a typesafe object rather than an id that you have to bind into an object yourself.