Matthias Clasen
6cb4dda5d6
gdk: Cosmetic docs changes
2021-05-22 17:25:26 -04:00
Matthias Clasen
fff2b3c710
gdk: Clean up docs syntax
...
Replace leftover gtk-doc syntax (#Type) with backquotes.
2021-05-22 17:25:26 -04:00
Matthias Clasen
4a0d3d7acc
docs: Reduce redundancy
...
Remove a boatload of "or %NULL" from nullable parameters
and return values. gi-docgen generates suitable text from
the annotation that we don't need to duplicate.
This adds a few missing nullable annotations too.
2021-05-20 20:45:06 -04:00
Matthias Clasen
7fe0610b68
introspection: Stop using allow-none
...
allow-none has been deprecated for a long time
already. Instead use optional and nullable everywhere.
2021-05-20 19:17:49 -04:00
Matthias Clasen
8ba16eb4f1
Documentation fixes
...
Mostly fixing up indentation of continuation lines,
and other small cleanups.
2021-05-20 19:17:49 -04:00
Bilal Elmoussaoui
c5eb2f5d16
gdk: annotate Content Serialize/Deserialize return_error
2021-05-19 18:10:34 +00:00
Emmanuele Bassi
b3d6928f35
x11: Pair eglInitialize with eglTerminate
...
If we bail out after EGL initialization we want to go back to a stable
state and not leave EGL hanging.
2021-05-13 18:23:50 +01:00
Emmanuele Bassi
3d8ba93f59
x11: Loosen the match for the NVIDIA driver
...
It seems nVidia puts a different string in the GL_VENDOR than the one it
uses for GLX.
2021-05-13 18:22:30 +01:00
Matthias Clasen
6537728c7b
Merge branch 'wip/chergert/fix-gi-typo' into 'master'
...
gdk: fix typo in G-I attribute
See merge request GNOME/gtk!3545
2021-05-12 18:43:33 +00:00
Christian Hergert
ae9b4f8940
gdk: fix typo in G-I attribute
2021-05-12 10:53:56 -07:00
Chun-wei Fan
6d33e9058c
Win32: Add EGLDisplay getter
...
Like what was done for Wayland and X11, add an API to retrieve the EGLDisplay
if one is being used in place of WGL.
2021-05-12 22:16:56 +08:00
Emmanuele Bassi
2588f9cee6
wayland: Add EGLDisplay getter
...
Getting an EGLDisplay object is messy; might as well expose the function
we use internally to save some time, just like we did for the X11
backend.
2021-05-11 12:46:03 +01:00
Emmanuele Bassi
abc2d7e4a9
x11: Add EGLDisplay getter
...
Getting an EGLDisplay object is messy; might as well expose the function
we use internally to save some time.
2021-05-11 12:42:16 +01:00
Emmanuele Bassi
6120519e8e
Merge branch 'ebassi/egl-x11' into 'master'
...
Prefer EGL to GLX for the GL support on X11
See merge request GNOME/gtk!3540
2021-05-10 22:51:11 +00:00
Emmanuele Bassi
69856a9aac
x11: Don't update GLX visuals with EGL
...
We're going to get into a messy situation, with both GLX and EGL
initialized.
If we're already using EGL, skip the whole cache.
2021-05-10 21:19:14 +01:00
Emmanuele Bassi
c35a6725b9
x11: Always fall back to GLX on NVIDIA
...
At least until we can guarantee that EGL-X11 works fine there.
2021-05-10 20:44:35 +01:00
Emmanuele Bassi
a57f79006a
x11: Move the damage fences into the GLX code
...
It's GLX-specific anyway, there's no need to complicate things by having
half the code in the generic path, and half in the GLX one.
2021-05-10 20:44:35 +01:00
Emmanuele Bassi
6600b0b507
x11: Add debug toggle for preferring GLX
...
Mostly as a way to compare the EGL and GLX implementations.
2021-05-10 20:44:35 +01:00
Emmanuele Bassi
9a19e3c741
x11: Add profiler marks for SwapBuffers
2021-05-10 20:44:35 +01:00
Emmanuele Bassi
8924d614c0
x11: Use EGL for GL support
...
This makes the X11 backend similar to the Wayland one, when it comes to
OpenGL.
Fall back to GLX only if EGL support is not available.
2021-05-10 20:44:35 +01:00
Emmanuele Bassi
03f76eccf5
x11: Decouple GLX from GdkX11GLContext
...
If we want to add an EGL implementation for the X11 backend, we are
going to need to move the GLX bits into their own class. The first step
is to declare GdkX11GLContext as an abstract type, and then subclass it
into a GdkX11GLContextGLX type, which includes the whole GLX
implementation.
2021-05-10 20:44:35 +01:00
Matthias Clasen
7745f67583
broadway: Add a setter for display scale
...
This is useful when using Broadway as a headless
display server.
Fixes : #3934
2021-05-10 07:19:26 -04:00
Matthias Clasen
374225ae6a
Cosmetics
2021-05-09 19:32:48 -04:00
Carlos Garnacho
081e127377
gdk/x11: Ensure to map the non-ewmh moveresize emulation window before use
...
Otherwise, we don't deem it as able to be grabbed, which we intend to do
immediately after.
2021-05-07 15:51:52 +02:00
Dan Cîrnaț
13b94dab10
Conditional check for gdesktopappinfo header
...
GDesktopAppInfo is not available on macOS and needs to be disabled
2021-05-06 10:38:41 +02:00
Guido Günther
e40c869d0d
gdk/wayland: Take transform into account when setting physical size
...
Width and height of a GdkMonitor are derived via wl_output which
talks about physical dimensions of a device and compositors usually
implement this as the untransformed values (e.g. weston, wlroots).
Since the GTK client has no way to figure out if a monitor was rotated,
transform the physical dimensions according to the applied wayland
transform to have the physical dimensions match the logical ones.
Mutter flips the physical dimensions itself but doesn't announce the
transform so this shouldn't break anything there.
2021-05-05 14:55:07 +02:00
Matthias Clasen
b012a5c67e
Merge branch 'static-analysis-fixes' into 'master'
...
Static analyis fixes
See merge request GNOME/gtk!3501
2021-05-03 19:21:42 +00:00
Carlos Garnacho
be4216e051
gdk/wayland: Support the xdg-activation wayland protocol
...
This protocol implements the IPC necessary to focus application
windows across launcher/launchee. Add support for it.
2021-05-03 17:20:50 +02:00
Matthias Clasen
e2722f03ac
x11: A few static analysis fixes
2021-05-03 07:44:38 -04:00
Matthias Clasen
1be4684441
gdktoplevelsize: Comment out some unused code
...
This is not currently useful, and clang complains.
2021-05-03 07:44:38 -04:00
Matthias Clasen
2b0c474117
Add gdk_wayland_device_get_xkb_keymap
...
This can be useful to get more detailed information
about keyboard configuration.
2021-05-02 21:02:09 -04:00
Matthias Clasen
0f74798a82
Add 4.4 version macros
2021-05-02 21:02:09 -04:00
Matthias Clasen
945b32ca1b
Merge branch 'mesa.win32.fixes' into 'master'
...
gdkglcontext-win32.c: Fix running with Mesa drivers
See merge request GNOME/gtk!3483
2021-05-02 22:42:35 +00:00
Matthias Clasen
7ab8109ef8
contentdeserializer: Fix an oversight
...
The argument passed with string_deserializer must be
a charset name. Passing the mimetype there does not
make sense.
2021-05-01 22:44:41 -04:00
Matthias Clasen
97afffba4e
wayland: Rewrite shm format debug spew
...
Rewrite this in a way that doesn't depend on kernel
header defines at the time the wayland scanner was run.
This was causing the build to break on Centos 8, where
a bunch of fourcc formats are missing.
2021-05-01 11:17:28 -04:00
Bilal Elmoussaoui
ec38e53249
gdk: add zero-terminated annotation to content_formats_get_gtypes
2021-04-30 15:43:33 +02:00
Bilal Elmoussaoui
e473e7a83a
gdk: fix content_formats_get_mime_types annotation
2021-04-30 15:43:17 +02:00
Chun-wei Fan
66e7f3b404
gdkglcontext-win32.c: Fix running with Mesa drivers
...
Some GL drivers such as Mesa-D3D12 do not allow one to call SetPixelFormat() on
a given HDC if one pixel format has been already set for it, so first check the
HDC with GetPixelFormat() to see whether a pixel format has already been set
with the HDC, and only attempt to acquire the pixel format if one has not been
set.
This will fix running with GL/NGL on Windows using the Mesa drivers.
2021-04-29 12:12:01 +08:00
David Lechner
2a610267eb
gdk/wayland/cursor/os-compatibility: fix build when memfd_create is not available
...
When building for homebrew/linuxbrew on Ubuntu 16.04, memfd_create() is
not available and causes the build to fail.
This adds a proper check for the function.
2021-04-27 11:46:39 -05:00
Matthias Clasen
f37662c655
x11: Try harder to find the right monitor
...
If we deal with a panel, we end up with no monitor,
and crash, which isn't great and isn't necessary.
Fixes : #3900
2021-04-26 23:20:10 -04:00
Benjamin Otte
1a12ea6e5a
Merge branch 'wip/otte/for-master' into 'master'
...
clipboard: Make sure G_TYPE_STRING is nul-terminated
Closes #3899
See merge request GNOME/gtk!3476
2021-04-26 21:15:32 +00:00
Benjamin Otte
1be899459c
clipboard: Fix reading of files
...
Make sure writing a terminating null byte actually works and we don't
just ignore the error message.
2021-04-26 21:32:57 +02:00
Benjamin Otte
f34e3c573b
clipboard: Make sure G_TYPE_STRING is nul-terminated
...
When reading text, we need to check we terminate the G_TYPE_STRING
string with a null byte, because the clipboard does not guarantee one.
So just append a \0 to the stream.
Fixes #3899
2021-04-26 21:32:57 +02:00
Matthias Clasen
2c34abed20
wayland: Print all layouts in debug spew
2021-04-26 00:16:41 -04:00
Matthias Clasen
d225f14657
gdk: Avoid synthetic motion confusion
...
Don't emit a synthetic motion event on a surface
that is grab-shadowed by a popup. This has been
known to confuse GTK, at times.
Fixes : #3439
2021-04-22 21:09:54 -04:00
Matthias Clasen
142984cbf7
Merge branch 'untrusted-beep' into 'master'
...
x11: Don't beep on untrusted displays
Closes #3862
See merge request GNOME/gtk!3463
2021-04-21 10:12:39 +00:00
Matthias Clasen
5587ee0c30
x11: Don't beep on untrusted displays
...
This can trigger BadAccess, and we don't
want that.
Fixes : #3862
2021-04-20 21:42:57 -04:00
Matthias Clasen
ce2a433ca1
Fix a possible crash in gtk_show_uri
...
g_file_get_basename can return NULL.
Deal with it somehow.
Fixes : #3883
2021-04-19 16:49:02 -04:00
Matthias Clasen
05af726446
Merge branch 'wayland-xdg-surface-setup' into 'master'
...
wayland: Don't duplicate xdg_surface setup code
See merge request GNOME/gtk!3191
2021-04-16 15:16:28 +00:00
David Keijser
db8bf5e7b9
wayland: Don't duplicate xdg_surface setup code
2021-04-16 16:23:16 +02:00