summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* win32: do not use g_clear_pointer also on the clipboard windowIgnacio Casal Quinteiro2015-11-131-2/+6
| | | | | | A follow up on the previous patch. We should use DestroyWindow directly since it has a different calling convention than the expected callback for g_clear_pointer
* win32: do not use g_clear_pointer to destroy the windowIgnacio Casal Quinteiro2015-11-131-1/+6
| | | | | DestroyWindow expects a different calling convenction so we endup getting an error at runtime
* win32: destroy clipboard notification window on disposeIgnacio Casal Quinteiro2015-11-122-21/+28
| | | | | The clipboard uses a hidden window to get some specific events. The window was created but never destroyed on dispose.
* win32: chain up on display disposeIgnacio Casal Quinteiro2015-11-121-1/+3
|
* gdk: Fix invalidation w/ pixel cache when changing child window geometry.Alexander Larsson2015-11-091-7/+17
| | | | | | | | When moving/scrolling a child window we can't use the current clip region to limit what is invalidated, because there may be a pixel cache that listens for changes outside the clip region. Instead invalidate the entire area and rely on the invalidation code to limit the repaint to the actually visible area.
* docs: Fix typo in gdk_screen_get_scale_factor()Emmanuele Bassi2015-11-041-1/+1
|
* GdkDevice: Do not free construct-only properties data on dispose()Carlos Garnacho2015-11-031-15/+21
| | | | | | | Those are not references to other objects, and the device will be mostly useless if those can't be set again anyway. https://bugzilla.gnome.org/show_bug.cgi?id=756625
* x11: Detect single-touch touchscreens as GDK_SOURCE_TOUCHSCREENCarlos Garnacho2015-11-031-0/+35
| | | | | | | | | | Those won't have ABS_MT_* axes, so won't be reported has having XITouchClassInfo. Fallback on these to checking whether abs x/y axes are available. After the Wacom checks, any remaining device with absolute axes should be touchscreens, and GDK_SOURCE_MOUSE does indeed just make sense on devices with relative axes. https://bugzilla.gnome.org/show_bug.cgi?id=757358
* gdkrgba: Use %g instead of %.17g to print alphaBenjamin Otte2015-11-021-1/+1
| | | | This way 0.3 isn't printed as 0.29999999999999
* mir: Print hscroll and vscroll values when debugging.Cemil Azizoglu2015-11-021-0/+2
| | | | Signed-off-by: William Hua <william.hua@canonical.com>
* win32: handle WM_DISPLAYCHANGE globallyPaolo Borelli2015-10-313-14/+84
| | | | | | | | | | | Instead of handling WM_DISPLAYCHANGE on every GdkWindow, only handle it on an ad-hoc hidden window we create when opening the display. This has two reasons: 1) we want emit the display::size-changed signal even if there are no gtk windows currently open 2) we want to emit the signal just once and not once for every window https://bugzilla.gnome.org/show_bug.cgi?id=757324
* wayland: configure clients that resize themselvesOlivier Fourdan2015-10-281-4/+0
| | | | | | | | | | | Make sure the wayland backend sets a new geometry when the client resizes itself, otherwise the compositor won't be notified and may revert to the old size on state changes. Thanks to Jasper St. Pierre <jstpierre@mecheye.net> who pointed out the problem in gtk+. bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=755051
* mir: emulate pointer for all touch eventsWilliam Hua2015-10-271-0/+2
|
* mir: warning clean-upWilliam Hua2015-10-272-2/+2
|
* mir: allow logging touch eventsWilliam Hua2015-10-271-1/+58
|
* gdkpixbuf-drawable: reinstate accidentally removed lineLars Uebernickel2015-10-271-0/+1
|
* gdk_pixbuf_get_from_window: honor device scaleLars Uebernickel2015-10-271-5/+12
| | | | | | | | gdk_pixbuf_get_from_window() paints the given window onto a new cairo surface. Create that new surface with the same device scale as the window so that the result is not scaled down on hidpi screens. https://bugzilla.gnome.org/show_bug.cgi?id=757147
* gdk: Deprecate gdk_display_get_screenRobert Ancell2015-10-275-4/+5
|
* wayland: Don't use GTK symbols from GDKJonas Ådahl2015-10-271-2/+2
| | | | | GTK_WINDOW_POPUP sets the GdkWindow type to GDK_WINDOW_TEMP, so use that in GDK, not the GTK symbol which doesn't exist there.
* wayland: Map UTILITY hinted popup windows as subsurfacesJonas Ådahl2015-10-271-1/+10
| | | | | | | Currently used by GtkTreeView to map windows without changing focus. We can't map this as a popup, because popup implies focus change. https://bugzilla.gnome.org/show_bug.cgi?id=756780
* wayland: Don't try to use subsurfaces as popup parentsJonas Ådahl2015-10-271-1/+24
| | | | | | | | | | If a GtkMenu (or something else that is mapped as a xdg_popup) tries to use a subsurface window as a parent, it will be terminated by the compositor due to protocol violation. So to avoid this, if a parent window is not a xdg_popup or xdg_surface, i.e. a wl_subsurface, then traverse up the transient parents until we find the right popup parent. https://bugzilla.gnome.org/show_bug.cgi?id=756780
* wayland: Make window type conditions switchesJonas Ådahl2015-10-271-7/+19
| | | | | | In order to make it easier to add/remove in future commits. https://bugzilla.gnome.org/show_bug.cgi?id=756780
* Translate GDK_KEY_KP_Decimal according to localeMatthias Clasen2015-10-251-0/+21
| | | | | | | | | | It makes sense that you should be able to type numbers that are correctly formatted and parsable according to the current locale, using just the keypad. This patch makes it so by translating GDK_KEY_KP_Decimal to the decimal separator for the current locale, instead of hardcoding a '.'. https://bugzilla.gnome.org/show_bug.cgi?id=756751
* quartz: Don't use the instancetype keywordMatthias Clasen2015-10-251-1/+1
| | | | | | | | | gdkcursor-quartz.c uses the instancetype keyword, which doesn't seem to be supported in the version of Objective C that Snow Leopard uses. Replacing that keyword with the thing it represents makes it build. Patch by Ryan Hendrickson, http://bugzilla.gnome.org/show_bug.cgi?id=756770
* win32: Fix introspection syntaxMatthias Clasen2015-10-221-1/+1
|
* Don't use g_slist_next in the x11 backendMatthias Clasen2015-10-204-8/+8
| | | | We generally use ->next directly.
* Don't use g_slist_next in the windows backendMatthias Clasen2015-10-202-6/+6
| | | | We generally use ->next directly.
* Don't use g_slist_next in gdkMatthias Clasen2015-10-202-4/+4
| | | | We generally just use ->next directly.
* wayland: Map windows with tooltip hint as subsurfacesJonas Ådahl2015-10-181-0/+5
| | | | | | | | Tooltips tend to be placed on top of a parent surface with a given relative coordinate, and without any input focus. So lets map them as subsurfaces. https://bugzilla.gnome.org/show_bug.cgi?id=756496
* wayland: Clean up code determining how to map a windowJonas Ådahl2015-10-181-25/+75
| | | | | | | | | Restructure the mapping procedure so that its known up front what the expected way mapping is to be done (subsurface, popup or stand alone), and warn if it fails to actually map in such a way (for example a popup without a parent or device grab, a tooltip without a parent). https://bugzilla.gnome.org/show_bug.cgi?id=756496
* Minor cleanupMatthias Clasen2015-10-171-2/+1
| | | | Replace a unref-and-unset combination with g_clear_object.
* Clean up handling of _gdk_win32_grab_cursorMatthias Clasen2015-10-171-4/+2
| | | | | | | This is a variable holding a ref to an object, so it is a great case to use g_set_object and g_clear_object. # Please enter the commit message for your changes. Lines starting
* W32: Add missing reference taking in gdk_device_virtual_grab()Руслан Ижбулатов2015-10-171-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=756160
* mir: send touch eventswip/mir-armhfWilliam Hua2015-10-161-1/+38
|
* win32: fix warnings about signed/unsigned mismatchIgnacio Casal Quinteiro2015-10-164-10/+11
|
* win32: use the same type as the prototypeIgnacio Casal Quinteiro2015-10-161-1/+1
|
* mir: support more pixel formatsWilliam Hua2015-10-142-10/+50
|
* GdkAppLaunchContext: Use the display name for X11Olivier Fourdan2015-10-131-3/+2
| | | | | | | | | | Using a NULL GAppInfo with g_app_launch_context_get_display() will generate a critical warning in gio. Use the display name instead as we don't have any valid GAppInfo to pass to g_app_launch_context_get_display(). bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=756439
* wayland: Set a more believable crossing detail on pointer enter/leaveCarlos Garnacho2015-10-131-2/+2
| | | | | | | | | | | | | GDK_NOTIFY_ANCESTOR would happen when the pointer crosses across a direct parent/child. However nonlinear events are more likely, specially when the pointer moves across toplevels (either different apps, or menus being popped up over the pointer position). This makes popping up comboboxes and other menus that fall over the pointer position possible. With the previous detail the GtkMenu code misinterpreted the crossing event, making it think the button release coming right after should dismiss the popup, which made menus just flash on the screen unless you kept the button pressed.
* win32: use the same parameter name as the implementationIgnacio Casal Quinteiro2015-10-082-2/+2
|
* wayland: Allow falling back to compatibility EGL contextsEmmanuele Bassi2015-10-071-5/+30
| | | | | | | | | | | | If the shared context is in legacy mode, or if the creation of a core profile context failed, we fall back to an EGL context in compatibility mode. Since we're relying on a fairly new EGL implementation for Wayland, we don't fall back to the older EGL API, and instead we always require the EGL_KHR_create_context extension. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* docs: Improve description of gdk_gl_context_is_legacy()Emmanuele Bassi2015-10-071-1/+14
| | | | | | Explain why this function is available, and why you may need it. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* Control legacy GL context via environment variableEmmanuele Bassi2015-10-073-2/+5
| | | | | | | For testing purposes, we may want to force the creation of legacy GL contexts via an environment variable. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* x11: Create legacy GLX contextsEmmanuele Bassi2015-10-071-17/+83
| | | | | | | | | | | If GLX has support for the GLX_ARB_create_context_profile extension, then we use the GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB; if it does not, we fall back to the old glXCreateNewContext() API. We use the shared GdkGLContext to decide whether the GLX context should use the legacy bit or not. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* gl: Use older GLSL shaders with legacy contextsEmmanuele Bassi2015-10-071-6/+55
| | | | | | | | | | | If we're using modern GLSL, then we should stop using deprecated modifiers, like 'varying' and 'attribute', as well as deprecated global variables, like 'gl_FragColor'. On the other hand, with legacy contexts we should be using older GLSL shaders, to maximize compatibility. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* gl: Store the legacy bit in the GL program dataEmmanuele Bassi2015-10-072-1/+6
| | | | | | We need to know if we're using a legacy GL context in various places. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* gdk: Allow querying if a GL context is in legacy modeEmmanuele Bassi2015-10-073-0/+38
| | | | | | | | | | | | | | | | | | | | We want to have the ability to fall back to legacy GL contexts when creating them. In order to do so, we need to store the legacy bit on the GdkGLContext, as well as being able to query it. Setting the legacy bit from outside GDK is not possible; we cannot create GL contexts in 3.2 core profile *and* compatibility modes at the same time, and if we allowed users to select the legacy mode themselves, it would break the creation of the GdkWindow's paint GL context. What we do allow is falling back to legacy GL context if the platform does not support 3.2 core profiles — for instance, on older GPUs or inside virtualized environments. We are also going to use the legacy bit internally, to choose which GL API we can use when drawing GL content. https://bugzilla.gnome.org/show_bug.cgi?id=756142
* wayland: Don't ignore wl_keyboard.leave if surface is goneJonas Ådahl2015-10-071-6/+5
| | | | | | | | | | keyboard_handle_leave() might be called with a NULL surface resource (for example if the surface was destroyed after the event was sent). If so, we should still deal with the keyboard focus lost event, otherwise we will both leak (the keyboard_focus GdkWindow reference) and miss stopping the key repeat timer. https://bugzilla.gnome.org/show_bug.cgi?id=755927
* GdkAppLaunchContext: Set DISPLAY variable for X11Olivier Fourdan2015-10-051-0/+7
| | | | | | | The environment variable DISPLAY makes sense only for X11, so set its value in the X11 backend. https://bugzilla.gnome.org/show_bug.cgi?id=754983
* gdk: Add gdk_rectangle_equal()Benjamin Otte2015-10-032-0/+25
| | | | There's enough users inside GTK to warrant this convenience function.