Julian Orth
468ddd4d49
gdk: don't leak wayland primary selection offers
...
Signed-off-by: Julian Orth <ju.orth@gmail.com>
2022-02-10 20:44:32 +01:00
Benjamin Otte
c6d5816c95
Merge branch 'wip/otte/for-main' into 'main'
...
gltexture: Only use glGetFramebufferParameter() when available
Closes #4678
See merge request GNOME/gtk!4449
2022-02-08 02:08:26 +00:00
Benjamin Otte
f37c5ebd26
rgba: Fix GDK_RGBA() macro to work with alpha
...
Previously we dividied by an integer, so alpha was either 0.0 or 1.0.
2022-02-08 01:34:19 +01:00
Benjamin Otte
2c71825324
gltexture: Only use glGetFramebufferParameter() when available
...
Fixes #4678
2022-02-08 01:34:19 +01:00
Matthias Clasen
38ad56e6a1
Merge branch 'wip/jimmac/selected_text' into 'main'
...
style: legible text selections
Closes #4664
See merge request GNOME/gtk!4433
2022-02-08 00:15:45 +00:00
Matthias Clasen
84d698464c
Merge branch 'antoniof-main-patch-89408' into 'main'
...
columnviewcolumn: Define autocleanup function
See merge request GNOME/gtk!4440
2022-02-07 23:57:46 +00:00
Matthias Clasen
9363269ceb
Merge branch 'more-noexecstack' into 'main'
...
demos: Make our stack noexec
See merge request GNOME/gtk!4439
2022-02-07 23:57:26 +00:00
Matthias Clasen
59eb9aeb73
Merge branch 'wip/chergert/macos-fixes' into 'main'
...
various macOS fixes
See merge request GNOME/gtk!4424
2022-02-07 23:56:40 +00:00
Matthias Clasen
d9109a0e92
Merge branch 'mg/gdk-macos-gdkdisplaylinksource' into 'main'
...
Include `gdk-private.h` to fix error about `g_source_set_static_name`
See merge request GNOME/gtk!4443
2022-02-07 23:54:55 +00:00
Matthias Clasen
f27c0c65b1
Merge branch 'mg/implicit-declaration-free' into 'main'
...
gdkjpeg: include `stdlib.h` necessary for `free`
See merge request GNOME/gtk!4445
2022-02-07 23:53:36 +00:00
Matej Urbančič
212f629876
Update Slovenian translation
2022-02-07 19:39:08 +00:00
Matej Urbančič
05f2f3ba8c
Update Slovenian translation
2022-02-07 19:30:34 +00:00
Emmanuele Bassi
a66072f312
Merge branch 'drop-target-get-formats-transfer-none' into 'main'
...
Mark `gtk_drop_target_get_formats()` return value as `transfer none`
See merge request GNOME/gtk!4446
2022-02-07 15:17:39 +00:00
Sebastian Dröge
3ba582375d
Mark gtk_drop_target_get_formats()
return value as transfer none
...
It was wrongly inferred as `transfer full` by gobject-introspection.
2022-02-07 16:23:01 +02:00
Mosè Giordano
4c211f1872
gdkjpeg: include stdlib.h
necessary for free
...
`free` is defined in `stdlib.h`, see for example
<https://pubs.opengroup.org/onlinepubs/009604499/functions/free.html >. Without
this include compilation can fail with the following error:
```
../gdk/loaders/gdkjpeg.c: In function ‘gdk_save_jpeg’:
../gdk/loaders/gdkjpeg.c:264:7: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration]
free (data);
^
../gdk/loaders/gdkjpeg.c:264:7: warning: incompatible implicit declaration of built-in function ‘free’
../gdk/loaders/gdkjpeg.c:264:7: note: include ‘<stdlib.h>’ or provide a declaration of ‘free’
../gdk/loaders/gdkjpeg.c:302:67: error: ‘free’ undeclared (first use in this function)
return g_bytes_new_with_free_func (data, size, (GDestroyNotify) free, NULL);
^
../gdk/loaders/gdkjpeg.c:302:67: note: each undeclared identifier is reported only once for each function it appears in
../gdk/loaders/gdkjpeg.c:303:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
```
2022-02-06 15:41:33 +00:00
Mosè Giordano
2ceba0d31c
Include gdk-private.h
to fix error about g_source_set_static_name
...
Without this change we get the following error:
```
[1/13] Compiling C object gdk/macos/libgdk-macos.a.p/gdkdisplaylinksource.c.o
ninja: job failed: /opt/bin/aarch64-apple-darwin20-libgfortran5-cxx11/aarch64-apple-darwin20-clang -Igdk/macos/libgdk-macos.a.p -Igdk/macos -I../gdk/macos -I. -I.. -Igdk -I../gdk -Isubprojects/pango/pango -I../subprojects/pango/pango -Isubprojects/pango -I../subprojects/pango -I/workspace/destdir/include/gdk-pixbuf-2.0 -I/workspace/destdir/include -I/workspace/destdir/include/glib-2.0 -I/workspace/destdir/lib/glib-2.0/include -I/workspace/destdir/lib/libffi-3.2.1/include -I/workspace/destdir/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/workspace/destdir/include/cairo -I/workspace/destdir/include/pixman-1 -I/workspace/destdir/include/freetype2 -I/workspace/destdir/include/fribidi -I/workspace/destdir/include/harfbuzz -I/workspace/destdir/include/graphene-1.0 -I/workspace/destdir/lib/graphene-1.0/include -I/workspace/destdir/include/gio-unix-2.0 -fcolor-diagnostics -Wall -Winvalid-pch -std=gnu99 -O2 -g -DG_LOG_USE_STRUCTURED=1 -DGLIB_DISABLE_DEPRECATION_WARNINGS '-DGTK_VERSION="4.6.0"' -D_GNU_SOURCE -DG_ENABLE_DEBUG -DGTK_COMPILATION '-DG_LOG_DOMAIN="Gdk"' -xobjective-c -fno-strict-aliasing -Wno-c++11-extensions -Wno-missing-include-dirs -Wno-typedef-redefinition -Wformat=2 -Wformat-nonliteral -Wformat-security -Wignored-qualifiers -Wimplicit-function-declaration -Wmisleading-indentation -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wshadow -Wstrict-prototypes -Wswitch-default -Wswitch-enum -Wundef -Wuninitialized -Wunused -Werror=address -Werror=array-bounds -Werror=empty-body -Werror=implicit -Werror=implicit-fallthrough -Werror=init-self -Werror=int-to-pointer-cast -Werror=main -Werror=missing-braces -Werror=missing-declarations -Werror=missing-prototypes -Werror=nonnull -Werror=pointer-to-int-cast -Werror=redundant-decls -Werror=return-type -Werror=sequence-point -Werror=trigraphs -Werror=vla -Werror=write-strings -Wnull-dereference -fvisibility=hidden -MD -MQ gdk/macos/libgdk-macos.a.p/gdkdisplaylinksource.c.o -MF gdk/macos/libgdk-macos.a.p/gdkdisplaylinksource.c.o.d -o gdk/macos/libgdk-macos.a.p/gdkdisplaylinksource.c.o -c ../gdk/macos/gdkdisplaylinksource.c
../gdk/macos/gdkdisplaylinksource.c:201:3: error: implicit declaration of function 'g_source_set_static_name' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
g_source_set_static_name (source, "[gdk] quartz frame clock");
^
1 error generated.
ninja: subcommand failed
```
2022-02-05 21:51:40 +00:00
Christian Hergert
95168e179c
macos: fallback to conversion on WCG colorspace
...
We don't want to risk having something really weird come out if we have a
WCG colorspace, so instead only do the performance hack on systems where
the output is likely reasonable.
We will want to eventually just be drawing in the appropriate colorspace,
but that is not available yet.
2022-02-05 12:42:57 -08:00
Asier Sarasua Garmendia
34959b58f4
Update Basque translation
2022-02-05 11:21:02 +00:00
Christian Hergert
2be51dc3b1
macos: handle sizing changes when switching monitors
...
This should make sure that our scales are updated as well as
ensuring we repaint the whole surface.
2022-02-04 12:29:57 -08:00
Benjamin Otte
14bdf82e33
Merge branch 'wip/hadess/inspector-search-by-pointer-gtk4' into 'main'
...
inspector: Search by pointer address
See merge request GNOME/gtk!4442
2022-02-04 18:07:28 +00:00
Christian Hergert
6b85d501f0
macos: assume monitor colorspace when drawing
...
When using software rendering w/ cairo, assume we're drawing in
the best-monitor's colorspace rather than RGB to avoid colorspace
conversions on every frame.
2022-02-04 09:46:10 -08:00
Christian Hergert
473aceea68
macos: add API to get monitor colorspace
2022-02-04 09:45:55 -08:00
Bastien Nocera
0621dbc745
inspector: Search by pointer address
...
Useful to find a widget that corresponds to a pointer address in gdb.
2022-02-04 18:39:56 +01:00
Christian Hergert
8ea0a4fc50
macos: precalculate clip regions as CGRect
...
We can make our drawRect do less work if we precalculate the clip
and damage regions upfront by intersecting them with the bounds.
2022-02-04 09:31:37 -08:00
António Fernandes
94ef818c9a
columnviewcolumn: Define autocleanup function
2022-02-04 11:13:46 +00:00
Christian Hergert
8112b49c36
macos: fix unmaximize opacity around edges of window
2022-02-03 19:26:16 -08:00
Christian Hergert
58b9c3a6d4
macos: use CGContext to draw cairo surfaces
...
Instead of relying on cairo_t to perform drawing from our backing
image surface to the Core Graphics context, we can convert the
cairo_image_surface_t into a CGImageRef without having to copy
data if we are certain of the alignment of the image up front.
Without this, there are many situations, based on the size of the
window that could cause cairo to take a slow path and malloc/copy
the data to ensure that alignment.
The previous commit titled "macos: align image surface rowstride to
16-bytes" ensures that this invariant is true so that our drawing
code can assume we can reference the framebuffer from the
cairo_image_surface_t using a CGDataProvider.
Since GdkMacosCairoContext and GdkMacosCairoSubview are coordinating,
we can also setup the transformation/scale early when drawing the
cairo_image_surface_t instead of when copying it to Core Graphics.
Furthermore, the CGImageRef is created with an RGB colorspace so
that we are not performing colorspace conversion to the output
device. We don't get color matching between displays, but we don't
expect that anyway, particularly with the software renderer.
2022-02-03 19:26:16 -08:00
Christian Hergert
4373743d4c
macos: align image surface rowstride to 16-bytes
...
When creating a cairo_image_surface_t we want both the framebuffer pointer
and each row to be aligned to 16-bytes so that Core Graphics will use more
optimal paths.
However, cairo_image_surface_create() will not guarantee that the rowstride
is aligned to 16-bytes so we must do that ourselves.
2022-02-03 19:26:16 -08:00
Christian Hergert
58159552ba
macos: avoid unnecessarily destroying cairo_t
...
This avoids destroying a cairo_t when we are within the frame as it
otherwise causes the surface to unnecessarily flush.
2022-02-03 19:26:16 -08:00
Christian Hergert
4bff24f83a
macos: cleanup window surface when destroying context
...
Make sure we release the cairo_surface_t for the window when
disposing the GdkMacosCairoContext.
2022-02-03 19:26:16 -08:00
Christian Hergert
f644925570
macos: be more careful about freezing/thawing surfaces
...
We need to avoid conflating the managing of frame callbacks from
the freeze/thaw mechanics and ensure we don't perform extra thaw
requests at the wrong time.
2022-02-03 19:26:16 -08:00
Christian Hergert
8a4fd3f2af
macos: check for destroyed surfaces in vfuncs
2022-02-03 19:26:16 -08:00
Christian Hergert
b7130a1ce3
macos: be more defensive about freezing updates
...
We only need to freeze the updates if we weren't in the queue already.
That should be the case, but just better to be defensive here.
2022-02-03 19:26:16 -08:00
Christian Hergert
519a44d224
macos: push to head of awaiting frames
...
Always add to the head of awaiting frames as the list is processed
in the opposite direction.
2022-02-03 19:26:16 -08:00
Christian Hergert
936034e07a
macos: remove popup surface from parent
2022-02-03 19:26:16 -08:00
Christian Hergert
ea43939f52
macos: handle NULL frame-clock when thawing
2022-02-03 19:26:16 -08:00
Jan Alexander Steffens (heftig)
d8befc612f
demos: Make our stack noexec
...
This is similar to https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4330
and https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4334 , which fixed
the main library but missed the demos.
2022-02-03 19:14:36 +00:00
Emmanuele Bassi
06ec4ec148
Merge branch 'zbrown/its-a-filename' into 'main'
...
cssprovider: from_path takes a path
See merge request GNOME/gtk!4436
2022-02-02 23:11:44 +00:00
Zander Brown
6fbcb967a0
cssprovider: from_path takes a path
...
Annotate it as such so that bindings can expose that appropriately
Related: https://github.com/gtk-rs/gtk4-rs/issues/861
2022-02-02 22:47:39 +00:00
Emmanuele Bassi
82e0241c42
Merge branch 'fix-app-launch-context-docs' into 'main'
...
gdkapplaunchcontext: Fix docs a bit
See merge request GNOME/gtk!4434
2022-02-01 20:34:41 +00:00
Phaedrus Leeds
8e000c2dbf
gdkapplaunchcontext: Fix docs a bit
...
The set_screen() and set_display() methods no longer exist.
2022-02-01 11:17:55 -08:00
Jakub Steiner
1f1aafd5c2
style: legible text selections
...
- follow adwaita styling
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4664
2022-02-01 17:12:52 +01:00
Luca Bacci
d314298644
Merge branch 'win32-keys-ignore-ctrl-gtk4' into 'main'
...
gdkkeys-win32: Ignore CTRL bit for key translation
Closes #4667
See merge request GNOME/gtk!4431
2022-02-01 15:33:01 +00:00
Emmanuele Bassi
3cbe3abf67
Merge branch '4602-fix-kerning-of-gl-rendered-glyphs' into 'main'
...
Fix kerning of GL rendered glyphs
Closes #4602
See merge request GNOME/gtk!4429
2022-02-01 14:31:47 +00:00
Philip Zander
90ab8b8dd3
gdkkeys-win32: Ignore CTRL bit for key translation
...
Some keymaps on Windows contain bogus mappings for Ctrl+key for certain
keys, e.g. Ctrl+Backspace = Delete, or Ctrl+[ = 0x1B. These are never
used on Windows, so we should ignore them.
Fixes #4667
2022-02-01 14:12:56 +01:00
Marek Kasik
cb1dd66220
Fix kerning of GL rendered glyphs
...
Multiple scaled shifts by 1024 too.
Fixes : #4602
2022-02-01 09:31:35 +01:00
Boyuan Yang
d033a099ae
Update Chinese (China) translation
2022-01-31 03:51:23 +00:00
Boyuan Yang
78d9e5e181
Update Chinese (China) translation
2022-01-31 03:46:30 +00:00
sicklylife
41270ba8c9
Update Japanese translation
2022-01-30 15:26:50 +00:00
sicklylife
e2277438e9
Update Japanese translation
2022-01-30 15:15:27 +00:00