summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* Never do implicit paints for foreign windowsMatthias Clasen2009-12-081-0/+8
| | | | | | | | They don't need double buffer combination since they have no client-side children, and creating pixmaps for them is risky since they could disappear at any time. May fix bug 598476 and 603652.
* Set colormap of offscreen pixmapsMatthias Clasen2009-12-081-0/+1
| | | | This fixes problems in clutter-gtk. See bug 603619.
* Fix up last commitAlexander Larsson2009-12-081-1/+1
| | | | (cherry picked from commit 22d1d0d5077a518c1e1a3622678cb7d1e6ab8e87)
* Handle input extension events when making a window nativeAlexander Larsson2009-12-081-0/+71
| | | | | | | | | | | | | | It may happen when turning a client side window into a native window that the window, or some of its children with the same native parent have extension events enabled, and thus have an input window enabled for the native parent which needs to change as the window is made native. We fix this by temporarily disabling extension events on all the affected windows while we create the native window, and then reenable them afterwards. This fixes: https://bugzilla.redhat.com/show_bug.cgi?id=544624 (cherry picked from commit 159214173d2ec626dd0390a5fd0e5beaa6404f6e)
* Fix damage report for lines drawn on offscreen windowsAlexander Larsson2009-12-071-13/+35
| | | | | | | | | | | | All kinds of lines (lines, segments, arcs, etc) need to take into account the line properties (width, miter limit, joins, caps, etc) to get proper damage extents. This is not really possible to do, but we can make it likely to work with some ad-hoc estimates. Fixes bug 603904. (cherry picked from commit 98a9c5c69a796b48d3797a35a301dabe1dcb2430)
* Fix mouse pointer handling on multiple screensAlexander Larsson2009-12-071-2/+2
| | | | | | | | | | | | The fix in 786b589d95077b465dcc2311ff2489ee7bb9a49f for the "Cannot click buttons more than once without moving the mouse cursor" did not correctly handle setups with multiple screens in one display. We need to handle the case where the first XQueryPointer returns a different root window than the default one. This fixes bug 597386 (agaion) (cherry picked from commit 48fc0f36c28fb0317a3433bafbe7bf8ae8a01171)
* Don't filter out BUTTON_MOTION event masksAlexander Larsson2009-12-021-13/+7
| | | | | | | | | | | | | | We don't really need to filter these out, it was just a leftover safety check to not override the GDK_POINTER_MOTION_MASK. Furthermore when we changed behaviour to not always select for native pointer motion it is actually wrong. We'll still get normal motion events for the toplevel which we will emulate as button motion on the child, but the button motion mask will not be inherited by implicit grabs which makes us not get any motion events during grabs. This fixes bug 601473 (cherry picked from commit b509f28559dba03684ecc88acac498b6f27d2ebf)
* [gdk/directfb] Made dfb_events_dispatch() thread saveJavier Jardón2009-11-301-0/+4
| | | | | Fixes https://bugzilla.gnome.org/show_bug.cgi?id=591438 (cherry picked from commit ee2c797e700ec933fafce48b405dda53fdb228da)
* Be a bit more forgiving about invalid monitor numberMatthias Clasen2009-11-301-46/+56
| | | | | By moving the g_return_if_fail() checks into individual monitor functions. See bug 561130.
* Short-circuit get_frame_extents for override-redirect windowsMatthias Clasen2009-11-301-1/+3
| | | | | There's no reason to do our expensive round-trips for an override-redirect window; just use local information. See bug 581145. Patch by Owen Taylor.
* Make level3 keys work againMatthias Clasen2009-11-301-2/+5
| | | | | We were not paying attention to consumed modifiers when adding virtual modifiers. This fixes RH bug 537567.
* Fix for position bugMichael Emmel2009-11-301-4/+5
| | | | | https://bugzilla.gnome.org/show_bug.cgi?id=590800 (cherry picked from commit 04d7d8105629532875d2bf1c3a454184fd6d1b40)
* Restore optional debugging printout of normal eventsTor Lillqvist2009-11-201-0/+1
|
* Fix _gdk_window_impl_new() for win32Hans Breuer2009-11-081-11/+3
| | | | | | The previous implementation was modifying the passed in window ("private") rather than deriving information from it. Also the type hints are now forwarded like in the X11 implementation instead of ignored. The effect of the unfinished client-side-window porting was e.g. a crash with Dia's navigation window which happened to create a window with an apparent depth of zero.
* Don't unnecessarily clear windows with no exposure mask setAlexander Larsson2009-11-051-65/+133
| | | | | | | | | | | | | When we just invalidate some area from the app we don't need to clear windows with no exposure mask, because that wouldn't have happened pre-csw anyway. Additionally we can avoid such clearing for native windows in cases where the xserver already did the clearing like on exposes or when resizing toplevels. This means we don't fully redraw a GtkSocket when it resizes, thus avoiding flicker in gnome-mplayer as reported in this bug: https://bugzilla.gnome.org/show_bug.cgi?id=598050 (cherry picked from commit 9e51c10edc50333997a28c221b200cc6f83bdcef)
* Document clears_as_native and make the name more descriptiveAlexander Larsson2009-11-051-2/+6
| | | | (cherry picked from commit 9ae0d9a44f785564a9b100a58b34a9dcabf61724)
* Add supports_native_bg to GdkWindowImplAlexander Larsson2009-11-052-0/+2
| | | | | | | | Backends that support native window background setting (and that clears new window areas to this color/pixmap) should set this to true. Currently only X11 supports this. (cherry picked from commit 39993f147f05a3711b415635c592200f28db5dcd)
* Don't unnecessarily expose areas copied by native windowing systemAlexander Larsson2009-11-051-0/+15
| | | | | | | When moving or scrolling a window with native children, there is no need to expose the areas that are copied by the windowing system as part of moving/resizing the native windows anyway. (cherry picked from commit 4cd5c9894268966d4d8a2586a7d5a7c5c440ee33)
* Only send exposes on unmap if window really was unmappedAlexander Larsson2009-11-051-1/+2
| | | | | Exposing when you hide a hidden window is just a waste of time. (cherry picked from commit a299797883440e7671956d73761885ec102840b0)
* Flush outstanding stuff when clearing directly on a windowAlexander Larsson2009-11-051-0/+4
| | | | | | Clearing will directly modify the contents of the window, so we need to flush any outstanding moves or double-buffering. (cherry picked from commit 8c1ea38d84468a9098e88573ba714cbbe3c80ed5)
* Use correct type text/uri-list for the dropped files selectionTor Lillqvist2009-10-231-1/+1
| | | | Fixes bug #599321.
* Use correct size for root window with multiple monitorsTor Lillqvist2009-10-181-2/+1
| | | | | | | | | | | The root window width and height have already been correctly initialised in _gdk_root_window_size_init() to cover all monitors, so don't incorrectly re-initialise using GetSystemMetrics(SM_C[XY]SCREEN) which only gives the size of the primary monitor anyway. (See MSDN.) This fixes at least gdk_screen_get_{width,height}() which indirectly affects at least the positioning of combo box pop-up menus on multiple monitors.
* Delete a couple of leftover commented-out linesTor Lillqvist2009-10-181-2/+0
|
* Add missing newline to debugging outputTor Lillqvist2009-10-181-1/+1
|
* Delete unused leftover static functionTor Lillqvist2009-10-181-32/+0
|
* More meaningful debugging output in gdk_win32_window_get_root_coordsTor Lillqvist2009-10-181-1/+1
|
* Remove unused variables and static functionsTor Lillqvist2009-10-181-89/+0
|
* Correct function names in debugging outputTor Lillqvist2009-10-181-22/+22
|
* Fix up _gdk_windowing_window_at_pointer coordinate reportingAlexander Larsson2009-10-051-8/+11
| | | | | | | | | We need to do a final XQueryWindow to get the coordinates inside the windows rather than in the parent window. This fixes bug #597386, "Cannot click buttons more than once...", which failed due to the grab tracking stuff getting the wrong coordinates as per the above.
* Plug a memory leakMatthias Clasen2009-10-041-0/+2
| | | | Valgrind reported a leak of regions from gdk_window_process_updates_internal.
* Bug 596959 - DirectFB backend compilation broken with changes from 2.18.0 ↵Sebastian Dröge2009-10-021-2/+4
| | | | | | to 2.18.1 Fix compilation of the DirectFB backend after internal API changes of GDK.
* Call XReconfigureWMWindow with proper screenPascal Terjan2009-10-011-1/+1
| | | | | | | | | | | Thanks gcc : gdkwindow-x11.c:1731: warning: passing argument 3 of 'XReconfigureWMWindow' makes integer from pointer without a cast /usr/include/X11/Xlib.h:1871: note: expected 'int' but argument is of type 'struct GdkScreen *' Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
* Bug 588449 - DnD doesn't work on GDK/QuartzKristian Rietveld2009-09-302-0/+36
| | | | | Patch from Paul Davis. This gets the basics of drag and drop properly working on Mac OS X.
* Use boxed accessors for setting and retrieving cursor propertyKristian Rietveld2009-09-301-2/+2
|
* Interpret min_value == max_value correctlyThomas Jaeger2009-09-301-5/+22
| | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=588649 Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
* Select for DeviceStateNotifyThomas Jaeger2009-09-302-1/+22
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Keep track of axis valuesThomas Jaeger2009-09-303-2/+26
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Filter out events that the current window didn't select forThomas Jaeger2009-09-293-1/+53
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Always select all XInput motion eventsThomas Jaeger2009-09-291-40/+4
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Report XInput button motion events until all buttons are released.Thomas Jaeger2009-09-291-1/+1
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* XInput allows up to 255 buttonsThomas Jaeger2009-09-293-6/+18
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Refactor _gdk_input_other_eventThomas Jaeger2009-09-291-6/+6
| | | | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com> https://bugzilla.gnome.org/show_bug.cgi?id=588649
* Use strstr instead of g_strrstr.Thomas Jaeger2009-09-291-4/+4
| | | | Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
* Only select for button and pointer event on toplevelsAlexander Larsson2009-09-291-17/+36
| | | | | | | These event types propagate up the hierarchy anyway, so this means we avoid setting it unnecessarily. This is especially important for button press event, since only one client can select for this on each window, causing X errors if two clients do it.
* Improve detection of input device source typeThomas Jaeger2009-09-281-8/+6
| | | | | | | | | | This detection code is not 100% reliable, but it should fare much better than the current code, which just compares the device name to a fixed set of strings. Many applications depend on erasers being recognized reliably, so we start by checking for a device name containing the substring 'eraser'. Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
* Sent button events don't cause passive grabsAlexander Larsson2009-09-281-2/+6
| | | | | Don't track sent button events as causing or removing passive grabs.
* Remove unused grab_one_pointer_release_event varAlexander Larsson2009-09-282-4/+1
| | | | We don't use this anymore, so just remove.
* Extend _gdk_windowing_window_at_pointer to be able to get toplevels onlyAlexander Larsson2009-09-286-21/+64
| | | | | | | | | | | | | This has two advantages: 1) In many backends, this is faster as we can terminate the window hierarchy traversal earlier 2) When used in gdkdisplay.c::get_current_toplevel() to get the current toplevel that has the pointer we now correctly return a toplevel with the pointer in it where the pointer is inside some foreign subwindow of a toplevel window. The second advantage fixes some bugs in client side event generation when the pointer is inside such a foreign child window.
* Bug 596494 - New property "cursor" in 2.18's GdkWindow with wrong type?Cody Russell2009-09-271-4/+5
| | | | Use a boxed paramspec with GDK_TYPE_CURSOR instead of a pointer paramspec.
* Remove unused variableKristian Rietveld2009-09-271-1/+0
|