Marc-André Lureau [Tue, 25 Apr 2023 12:18:26 +0000 (16:18 +0400)]
gdk/win32: fix `hr` set but not used
A number of warnings are produced:
[23/1038] Compiling C object gdk/win32/libgdk-win32.a.p/gdkinput-dmanipulation.c.obj
../gdk/win32/gdkinput-dmanipulation.c: In function 'reset_viewport':
../gdk/win32/gdkinput-dmanipulation.c:354:11: warning: variable 'hr' set but not used [-Wunused-but-set-variable]
354 | HRESULT hr;
| ^~
Try to do something sensible instead.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau [Tue, 25 Apr 2023 12:14:55 +0000 (16:14 +0400)]
gdk/win32: fix g_string_free warning
../gdk/win32/gdkclipdrop-win32.c: In function 'transmute_cf_shell_id_list_to_text_uri_list':
C:/msys64/ucrt64/include/glib-2.0/glib/gstring.h:72:5: warning: ignoring return value of 'g_string_free_and_steal' declared with attribute 'warn_unused_result' [-Wunused-result]
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau [Tue, 25 Apr 2023 12:11:03 +0000 (16:11 +0400)]
gdk/win32: fix GDK_NOTE redefined warning
In file included from ../gdk/win32/gdkdrag-win32.c:201:
../gdk/win32/gdkprivate-win32.h:45: warning: "GDK_NOTE" redefined
45 | #define GDK_NOTE(type,action) \
|
../gdk/win32/gdkdrag-win32.c:40: note: this is the location of the previous definition
40 | #define GDK_NOTE(a,b)
Fixes: bc159207bd0 ("gdk: Drop old debug macros")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Matthias Clasen [Tue, 25 Apr 2023 11:22:34 +0000 (11:22 +0000)]
Merge branch 'label_get_active_uri' into 'main'
Fix hovered link URI not returned by gtk_label_get_current_uri
See merge request GNOME/gtk!5864
Matthias Clasen [Tue, 25 Apr 2023 07:49:12 +0000 (07:49 +0000)]
Merge branch 'icontheme-has-icon-consistency' into 'main'
icontheme: make has_(g)icon consistent with lookup
Closes #5709
See merge request GNOME/gtk!5865
Matthias Clasen [Tue, 25 Apr 2023 07:46:21 +0000 (07:46 +0000)]
Merge branch 'null-display' into 'main'
gdkdisplaymanager: Add missing nullable to display name
See merge request GNOME/gtk!5866
Takao Fujiwara [Tue, 25 Apr 2023 03:08:08 +0000 (12:08 +0900)]
gdkdisplaymanager: Add missing nullable to display name
velsinki [Mon, 24 Apr 2023 21:38:20 +0000 (23:38 +0200)]
icontheme: make has_(g)icon consistent with lookup
Make `gtk_icon_theme_has_icon` and `gtk_icon_theme_has_gicon` also
consider unthemed icons. This makes their behavior consistent with the
actual (documented) lookup behavior.
Fixes: #5709 and makes the workaround in nautilus@b643a00b obsolete
Chris Mayo [Mon, 24 Apr 2023 18:35:47 +0000 (19:35 +0100)]
Fix hovered link URI not returned by gtk_label_get_current_uri
This is needed for a query-tooltip handler, as mentioned in the
documentation, when there has been a hover timeout.
Maintain the previous behaviour when the link is clicked and follow the
existing documentation regarding selectable labels.
A notify::cursor handler can now also be used to retrieve the URI of the
link under the cursor.
Matthias Clasen [Mon, 24 Apr 2023 12:28:12 +0000 (12:28 +0000)]
Merge branch 'ebassi/button-can-shrink' into 'main'
Add GtkButton:can-shrink
See merge request GNOME/gtk!5552
Emmanuele Bassi [Fri, 14 Apr 2023 12:08:13 +0000 (13:08 +0100)]
Add GtkMenuButton:can-shrink
Map the GtkMenuButton property to the underlying GtkButton widget.
Sabri Ünal [Sun, 23 Apr 2023 21:12:44 +0000 (21:12 +0000)]
Update Turkish translation
Benjamin Otte [Sat, 22 Apr 2023 15:10:02 +0000 (15:10 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
surface: Clean up drawing code
See merge request GNOME/gtk!5861
Benjamin Otte [Sat, 22 Apr 2023 14:35:16 +0000 (16:35 +0200)]
surface: reformat function
Make the function follow usual coding conventions.
And while doing that, remove duplicate functionality.
Benjamin Otte [Sat, 22 Apr 2023 14:33:35 +0000 (16:33 +0200)]
surface: Refactor code
Move the early exit conditions to the top and turn them into early exits
instead of nesting if statements.
Benjamin Otte [Sat, 22 Apr 2023 14:29:58 +0000 (16:29 +0200)]
surface: Fold function into its only caller
No other changes
Benjamin Otte [Sat, 22 Apr 2023 14:27:27 +0000 (16:27 +0200)]
surface: Stop maintaining an unused linked list
wat?
Benjamin Otte [Sat, 22 Apr 2023 14:24:16 +0000 (16:24 +0200)]
surface: Remove in_update tracking
It's 2023, we use frame clocks now and don't have nested surface drawing
anymore.
Benjamin Otte [Sat, 22 Apr 2023 14:10:24 +0000 (16:10 +0200)]
surface: Stop tracking the active update area
It's unused.
Aleksandr Melman [Sat, 22 Apr 2023 12:03:07 +0000 (12:03 +0000)]
Update Russian translation
Piotr Drąg [Sat, 22 Apr 2023 09:16:08 +0000 (11:16 +0200)]
Update Polish translation
Matthias Clasen [Sat, 22 Apr 2023 05:54:58 +0000 (05:54 +0000)]
Merge branch 'gtkfilesystemmodel-emit-items-changed-on-modifying-attributes' into 'main'
filesystemmodel: Emit items-changed when modifying attributes
Closes #5758
See merge request GNOME/gtk!5853
Olivier Crête [Sat, 22 Apr 2023 05:54:57 +0000 (05:54 +0000)]
filesystemmodel: Emit items-changed when modifying attributes
Matthias Clasen [Sat, 22 Apr 2023 05:26:43 +0000 (05:26 +0000)]
Merge branch 'wip/corey/file-chooser-signal' into 'main'
Port filechooserwidget to GtkSignalListItemFactory
See merge request GNOME/gtk!5858
Corey Berla [Fri, 21 Apr 2023 14:49:03 +0000 (07:49 -0700)]
filechoosercell: Drop show-time property
Now that we are using GtkSignalListItemFactory, the convoluted show-time
property is no longer necessary.
Corey Berla [Fri, 21 Apr 2023 14:45:08 +0000 (07:45 -0700)]
filechooserwidget: Port to GtkSignalListItemFactory
BuilderListItemFactory isn't quite suited for our purposes, primarily
because you can't pass user data to BuilderListItemFactory. Because
we can't get the data we are using a workaround to get the
GtkFileChooserWidget ancestory, which used to work, but with the
recent list view changes no longer doesn't. Use GtkSignalListItemFactory
with the GtkFileChooserWidget as the user data.
Corey Berla [Fri, 21 Apr 2023 03:20:10 +0000 (20:20 -0700)]
Revert "filechooser: Set date and time after cell is a child of filechooserwidget"
This reverts commit
2a70093a309481cf633086a5e8f0c8bc6d2c89f0.
This fix was incomplete, the actual fix is to use signal factory.
Corey Berla [Fri, 21 Apr 2023 03:18:58 +0000 (20:18 -0700)]
Revert "filechoosercell: Store type_format in filechoosercell"
This reverts commit
dd407dab000dc4de7d078c6270c93d303a1c18c6.
This fix was incomplete, the actual fix is to use signal factory.
Hugo Carvalho [Fri, 21 Apr 2023 14:30:47 +0000 (14:30 +0000)]
Update Portuguese translation
(cherry picked from commit
5bc3284dd873ae13ef5aa883cb324b4979c9762c)
Yosef Or Boczko [Fri, 21 Apr 2023 09:10:12 +0000 (09:10 +0000)]
Update Hebrew translation
Benjamin Otte [Thu, 20 Apr 2023 21:50:44 +0000 (21:50 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
testsuite: Be less verbose in accessor-apis test
Closes #5763
See merge request GNOME/gtk!5851
Benjamin Otte [Thu, 20 Apr 2023 17:07:08 +0000 (19:07 +0200)]
listbase: Don't warn on scroll in empty list
Empty lists can still be scrolled if the scroll happens in the same
frame as the emptying of the list.
Related: #5763
Benjamin Otte [Thu, 20 Apr 2023 17:00:08 +0000 (19:00 +0200)]
adjustment: sanity-check values when setting them
It's not enough to sanitize values when starting an animation, as the
adjustment can reconfigure itself while the animation runs.
So as a simple way to handle this, we sanitize every value right before
setting it, too.
In the future we might also want to look at sanitizing start/end values
of the animation.
Fixes #5763
Benjamin Otte [Thu, 20 Apr 2023 16:52:49 +0000 (18:52 +0200)]
adjustment: Split out a function
Matthias Clasen [Thu, 20 Apr 2023 20:08:31 +0000 (20:08 +0000)]
Merge branch 'dark_theme_fix_hover_toolbar_buttons' into 'main'
theme: fix 'hover' and 'check' colors for buttons under .toolbar
See merge request GNOME/gtk!5844
Matthias Clasen [Thu, 20 Apr 2023 20:08:01 +0000 (20:08 +0000)]
Merge branch 'dark_theme_increase_selection_color' into 'main'
Increase contrast for text entry selection color on dark theme
See merge request GNOME/gtk!5843
Benjamin Otte [Thu, 20 Apr 2023 15:32:36 +0000 (17:32 +0200)]
testsuite: Allow accessors in interfaces
There are a lot of cases where properties are implemented in classes but
the getters for these exist in an interface that class implements.
A common Example is g_list_model_get_n_items() being the getter for
GtkWhateverListModel::n-items.
But also property implementations that don't use override_property()
(usually because they have a different default) are handled by this.
Benjamin Otte [Thu, 20 Apr 2023 15:31:57 +0000 (17:31 +0200)]
testsuite: Be less verbose in accessor-apis test
Only print the tried names when --verbose is passed to the test.
Emin Tufan Çetin [Wed, 19 Apr 2023 13:22:31 +0000 (13:22 +0000)]
Update Turkish translation
Matthias Clasen [Wed, 19 Apr 2023 07:44:45 +0000 (07:44 +0000)]
Merge branch 'mask-node-transforms' into 'main'
Fix a comment
See merge request GNOME/gtk!5848
Matthias Clasen [Wed, 19 Apr 2023 07:19:12 +0000 (09:19 +0200)]
gsk: Use explicit switches
This makes it harder to forget to add new
node types here.
Matthias Clasen [Wed, 19 Apr 2023 06:13:55 +0000 (08:13 +0200)]
gsk: Mask nodes support 2d transforms
When adding mask nodes, I overlooked that
we have two separate functions for determining
what transforms a node supports without offlines.
Since we claim that mask nodes support general
transform, they must certainly support 2d transforms
as well.
Matthias Clasen [Wed, 19 Apr 2023 05:48:58 +0000 (07:48 +0200)]
Fix a comment
I tried to improve things in
d67101d46e7d8647,
but I made it worse. The original note was meant
to be removed. Pointed out be Sebastian Bacher.
Benjamin Otte [Mon, 17 Apr 2023 11:56:03 +0000 (11:56 +0000)]
Merge branch 'angle-gles' into 'main'
gdk: prefer GLES when on win32/ANGLE
See merge request GNOME/gtk!5829
Marc-André Lureau [Sun, 16 Apr 2023 17:23:49 +0000 (21:23 +0400)]
gdk/win32: drop some unused variables
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau [Sat, 15 Apr 2023 10:33:20 +0000 (14:33 +0400)]
gdk: drop libangle GLES minimum version
GLES 2.0 version is fine now with current gtk according to B. Otte.
Let's use the same minimum requirement for all implementations.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau [Thu, 13 Apr 2023 15:22:21 +0000 (19:22 +0400)]
gdk: use GLES when on win32/ANGLE
When using GDK_DEBUG=gl-egl, we end up using GL, but that is not well supported:
Creating EGL context version 3.0 (debug:no, forward:no, legacy:yes, es:no)
Created EGL context[
0000000000000004]
OpenGL version: 0.0 (legacy)
* GLSL version: (NULL)
* Max texture size: -
1059701680
* Extensions checked:
- GL_KHR_debug: no
- GL_EXT_unpack_subimage: yes
- OES_vertex_half_float: no
** (gtk4-demo.exe:14324): WARNING **: 19:16:41.468: Compile failure in
vertex shader:
ERROR: 0:7: 'gl_Position' : undeclared identifier
---8<---
Use GLES when EGL implementation is ANGLE.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Marc-André Lureau [Sat, 15 Apr 2023 10:35:04 +0000 (14:35 +0400)]
gdk: drop unused vertex_array_object
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Benjamin Otte [Mon, 17 Apr 2023 04:49:59 +0000 (04:49 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
glrenderer: Don't try to use float framebuffers on GLES2
See merge request GNOME/gtk!5845
Benjamin Otte [Mon, 17 Apr 2023 03:42:19 +0000 (05:42 +0200)]
gl: Only allow RGB(A)8 on GLES2
GLES2 has no idea what 16bit textures even are, let alone floating point.
Benjamin Otte [Mon, 17 Apr 2023 03:41:34 +0000 (05:41 +0200)]
glrenderer: Don't try to use float framebuffers on GLES2
GLES doesn't know what that is.
Nelson Benítez León [Sun, 16 Apr 2023 18:15:58 +0000 (14:15 -0400)]
theme: more contrast for text entry selection color on dark theme
Part of #5725
Nelson Benítez León [Sun, 16 Apr 2023 20:16:10 +0000 (16:16 -0400)]
theme: fix 'hover' and 'check' colors for buttons under .toolbar
Buttons under .toolbar were using for their 'hover', 'active'
and 'check' colors the default ones from %button_basic_flat
which are very dimmed, so we explicitly darken them.
Part of #5725
Matthias Clasen [Sun, 16 Apr 2023 20:00:46 +0000 (20:00 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
Try harder to fix focus tests
See merge request GNOME/gtk!5842
Matthias Clasen [Sun, 16 Apr 2023 18:58:26 +0000 (20:58 +0200)]
testsuite: Skip focus tests when necessary
If our window does not get focus, we can't reliably
test things that depend on widgets being focused.
Matthias Clasen [Sun, 16 Apr 2023 18:16:36 +0000 (18:16 +0000)]
Merge branch 'ccook/doc-changes' into 'main'
Two corrections that show up in docs
See merge request GNOME/gtk!5838
Matthias Clasen [Sun, 16 Apr 2023 18:07:13 +0000 (20:07 +0200)]
Try harder to fix focus tests
The focus test now asserts that its window is active.
So we should not run them in parallel with other tests,
since those might steal the focus.
Benjamin Otte [Sun, 16 Apr 2023 18:02:33 +0000 (18:02 +0000)]
Merge branch 'wip/otte/alt.wl_surface.die.die.die' into 'main'
wayland: Don't leak all surfaces
See merge request GNOME/gtk!5840
Benjamin Otte [Sun, 16 Apr 2023 14:57:48 +0000 (16:57 +0200)]
testsuite: Fix broken test to not unref surfaces twice
The test doesn't hold 2 references, it holds only one.
The reason one unref can cause a leak is that some backends - like X11 -
only destroy the surface once the DestroyNotify event from the X server
has come in.
Benjamin Otte [Sun, 16 Apr 2023 02:39:21 +0000 (04:39 +0200)]
wayland: Don't leak all surfaces
X11 does add an extra reference to surfaces that gets released when the
DestroyNotify event arrives.
Wayland doesn't ave such an event, so that reference never gets
released.
This fixes a copy/paste error introduced in commit
590f3dfa1fcb.
Benjamin Otte [Sun, 16 Apr 2023 02:36:12 +0000 (04:36 +0200)]
wayland: Don't insta-crash when a surface gets disposed
We want to remove the event queue from the list of event queues, not the
surface.
Otherwise the freed queue stays in the list and the next time an event
comes in, we access invalid memory.
Fixes thinko introduced in commit
7fafa5133b5.
Luckily, we leak all surfaces, so this problem never occured.
Matthias Clasen [Sun, 16 Apr 2023 17:07:49 +0000 (17:07 +0000)]
Merge branch 'ccook/gtklabel-doc-changes' into 'main'
GtkLabel doc corrections
See merge request GNOME/gtk!5839
Matthias Clasen [Sun, 16 Apr 2023 07:36:11 +0000 (07:36 +0000)]
Merge branch 'focus-testsuite-fixes' into 'main'
text: Fix fallout from focus changes
See merge request GNOME/gtk!5841
Matthias Clasen [Sun, 16 Apr 2023 07:11:24 +0000 (09:11 +0200)]
testsuite: Actually wait for focus
We were failing to properly iterate the main
context here. Oops.
Matthias Clasen [Sun, 16 Apr 2023 06:50:35 +0000 (08:50 +0200)]
tests: Check is-focus instead of has-focus
We are not presenting windows here.
Matthias Clasen [Sun, 16 Apr 2023 06:49:20 +0000 (08:49 +0200)]
text: Fix fallout from focus changes
We don't get proper notification for when the toplevel
is-active property changes, so monitor has-focus, and
update cursor blinking.
Cam Cook [Sun, 16 Apr 2023 01:48:27 +0000 (21:48 -0400)]
| method | current | suggestion |
|---------------------------------------------------------------------------------------|-----------------------------------------------------------------|----------------------------------------------------------------------|
| [get_attributes](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3242) | "use`pango_layout_get_attribute (gtk_label_get_layout (self))`" | "use`pango_layout_get_attributes (gtk_label_get_layout (self))`" [1] |
| [set_yalign](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L5897) | "(attributes org.gtk.Method.get_property=yalign)" | "(attributes org.gtk.Method.set_property=yalign)" |
| [get_yalign](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L5923) | "(attributes org.gtk.Method.set_property=yalign)" | "(attributes org.gtk.Method.get_property=yalign)" |
| [set_ellipsize](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3892) | "to ellipsizei" | "to ellipsize" |
| [get_attributes](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtklabel.c#L3239) | "from the labels markup" | "from the label's markup" |
[1] https://docs.gtk.org/Pango/method.Layout.get_attributes.html
Cam Cook [Sat, 15 Apr 2023 16:41:13 +0000 (12:41 -0400)]
| method | current | suggestion |
|-------------------------------------------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------|
| [Entry/set_invisible_char](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2101) | "(attributes org.gtk.Method.sets_property=invisible-char)" | "(attributes org.gtk.Method.set_property=invisible-char)" |
| [FlowBox::activate](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkflowbox.c#L541) | "This can be happen either by" | "This can happen either by" |
Cam Cook [Sat, 15 Apr 2023 16:40:22 +0000 (12:40 -0400)]
Revert "Two corrections and added method linking that show up in docs"
This reverts commit
c7f30ecdfdb70fd8d4fcc02a4a576dfee0991e28.
Matthias Clasen [Sat, 15 Apr 2023 16:27:16 +0000 (16:27 +0000)]
Merge branch 'wip/otte/gles-fixes' into 'main'
GLES 2 fixes
See merge request GNOME/gtk!5837
Matthias Clasen [Sat, 15 Apr 2023 16:09:32 +0000 (16:09 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
window: Don't mark widget prematurely as has-focus
See merge request GNOME/gtk!5836
Cam Cook [Sat, 15 Apr 2023 16:08:46 +0000 (12:08 -0400)]
Two corrections and added method linking that show up in docs
| method | current | suggestion |
|-------------------------------------------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------|
| [Entry/set_invisible_char](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2101) | "(attributes org.gtk.Method.sets_property=invisible-char)" | "(attributes org.gtk.Method.set_property=invisible-char)" |
| [FlowBox::activate](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkflowbox.c#L541) | "This can be happen either by" | "This can happen either by" |
| method | current | suggestion |
|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------|--------------------------------------------------------------|
| [Box/get_baseline_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkbox.c#L461) | "value set by gtk_box_set_baseline_position()." | "value set by [method@Gtk.Box.set_baseline_position]." |
| [Box/get_spacing](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkbox.c#L412) | "value set by gtk_box_set_spacing()." | "value set by [method@Gtk.Box.set_spacing]." |
| [CenterBox/get_baseline_position](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkcenterbox.c#L528) | "value set by gtk_center_box_set_baseline_position()." | "value set by [method@Gtk.CenterBox.set_baseline_position]." |
| [Entry/get_activates_default](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2296) | "value set by gtk_entry_set_activates_default()." | "value set by [method@Gtk.Entry.set_activates_default]." |
| [Entry/get_alignment](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2380) | "value set by gtk_entry_set_alignment()." | "value set by [method@Gtk.Entry.set_alignment]." |
| [Entry/get_extra_menu](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L3727) | "set with gtk_entry_set_extra_menu()." | "set with [method@Gtk.Entry.set_extra_menu]." |
| [Entry/get_has_frame](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L2340) | "value set by gtk_entry_set_has_frame()." | "value set by [method@Gtk.Entry.set_has_frame]." |
| [Entry/get_progress_pulse_step](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkentry.c#L3372) | "set with gtk_entry_set_progress_pulse_step()." | "set with [method@Gtk.Entry.set_progress_pulse_step]." |
| [Fixed/get_child_transform](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkfixed.c#L314) | "set using gtk_fixed_set_child_transform()." | "set using [method@Gtk.Fixed.set_child_transform]." |
Benjamin Otte [Sat, 15 Apr 2023 15:53:54 +0000 (17:53 +0200)]
testsuite: Make GLES testsuite run use GLES 2
We want to support GLES 2, so make sure we test that support.
Also force-disable common extensions we don't explicitly check for and
don't want to accidentally use.
Benjamin Otte [Sat, 15 Apr 2023 15:50:18 +0000 (17:50 +0200)]
gles: Don't use vertex array objects
They're not needed and GLES doesn't technically support them, even
though GTK had been using them via epoxy sneakily using the
GL_OES_vertex_array_object extension behind our back.
Matthias Clasen [Sat, 15 Apr 2023 13:02:09 +0000 (15:02 +0200)]
text: Only claim primary when focused
It does not make sense otherwise, and has unfortunate
side-effects on Wayland.
Matthias Clasen [Sat, 15 Apr 2023 13:00:53 +0000 (15:00 +0200)]
wayland: Improve logging for primary selection
Matthias Clasen [Sat, 15 Apr 2023 12:58:57 +0000 (14:58 +0200)]
window: Don't mark widget prematurely as has-focus
has-focus is defined is-focus && toplevel::is-active.
We were forgetting to look at is_active when handling
focus widget changes.
Matthias Clasen [Sat, 15 Apr 2023 10:51:39 +0000 (10:51 +0000)]
Merge branch 'better-snapshot-nodes-docs' into 'main'
gtk: Improve documentation on returned nodes for snapshot
Closes #5747
See merge request GNOME/gtk!5831
Matthias Clasen [Sat, 15 Apr 2023 10:35:12 +0000 (10:35 +0000)]
Tweak the wording
Benjamin Otte [Sat, 15 Apr 2023 03:40:00 +0000 (03:40 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
inspector: Don't randomly emit application signals
See merge request GNOME/gtk!5834
Benjamin Otte [Sat, 15 Apr 2023 03:24:29 +0000 (05:24 +0200)]
listlistmodel: Add a cache
Cache the last looked up item and use it for looking up the next item if
it's closest. This massively speeds up iteration over the model, because
each call to get_item() will be adjacent to the previous one.
Improves performance of the inspector quite a bit.
Benjamin Otte [Sat, 15 Apr 2023 03:24:11 +0000 (05:24 +0200)]
testsuite: Add some more exhaustive testing to listlistmodel
Benjamin Otte [Fri, 14 Apr 2023 22:02:01 +0000 (00:02 +0200)]
inspector: Don't randomly emit application signals
When the variant-editor emits a callback, it might not actually have
edited the value in question. Try to detect that by only emitting
signals if the value changed.
Benjamin Otte [Fri, 14 Apr 2023 23:28:55 +0000 (23:28 +0000)]
Merge branch 'gbsneto/vulkan-buffer-release' into 'main'
gsk/vulkan/render: Download image before reset
See merge request GNOME/gtk!5832
Georges Basile Stavracas Neto [Fri, 14 Apr 2023 19:27:42 +0000 (16:27 -0300)]
gsk/vulkan/render: Download image before reset
gsk_vulkan_render_download_target() currently resets the uploader
objects before downloading the image that it produces. This is
problematic because there might be unreleased buffers and images
in the command queue.
In particular, this can make validation layers complain about the
glyph atlas - of all things! - upload buffer being released while
still being used by the command queue.
Fix that by resetting the uploader after downloading the image.
Marco Trevisan (Treviño) [Fri, 14 Apr 2023 16:05:21 +0000 (18:05 +0200)]
gtk: Improve documentation on returned nodes for snapshot
Closes: #5747
Emmanuele Bassi [Fri, 24 Feb 2023 12:28:24 +0000 (12:28 +0000)]
Add GtkButton:can-shrink
For certain kinds of layouts, especially ones where one or both sizes of
a top level is constrained by physical limits, it's acceptable to have
buttons that rely on the minimum size of their contents, rather than the
natural size. It is left to the application authors, or the localization
teams, to ensure that things like translations and font sizes do not
result in a broken UI.
Matthias Clasen [Thu, 13 Apr 2023 20:44:23 +0000 (20:44 +0000)]
Merge branch 'fix_scalebutton_orientation' into 'main'
ScaleButton: fix CSS name in documentation, fix orientation doing nothing
See merge request GNOME/gtk!5819
Matthias Clasen [Thu, 13 Apr 2023 20:44:03 +0000 (20:44 +0000)]
Merge branch 'check-openuri-portal-version' into 'main'
openuriportal: Detect if the interface isn't there
Closes #5733
See merge request GNOME/gtk!5826
Georges Basile Stavracas Neto [Thu, 13 Apr 2023 17:07:59 +0000 (17:07 +0000)]
Merge branch 'gbsneto/vulkan-mailbox' into 'main'
gdk/vulkancontext: Use more appropriate present mode
See merge request GNOME/gtk!5828
Georges Basile Stavracas Neto [Thu, 13 Apr 2023 15:15:53 +0000 (12:15 -0300)]
gdk/vulkancontext: Use more appropriate present mode
Check if the driver supports MAILBOX and prefer using it; in its
absense, checkif the driver supports IMMEDIATE and prefer using
it; finally, if neither of them are supported, use the guaranteed
to be supported FIFO mode.
Benjamin Otte [Thu, 13 Apr 2023 15:34:48 +0000 (15:34 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
x11: Remove commented outdated code
See merge request GNOME/gtk!5827
Benjamin Otte [Thu, 13 Apr 2023 03:28:57 +0000 (05:28 +0200)]
x11: Remove commented outdated code
... and it's copy/paste into the win32 backend
Benjamin Otte [Thu, 13 Apr 2023 03:28:14 +0000 (05:28 +0200)]
gdk: Remove unused vfunc
Benjamin Otte [Thu, 13 Apr 2023 15:12:07 +0000 (15:12 +0000)]
Merge branch 'wip/otte/wl-gloria-gaynor' into 'main'
wayland: Make wl_surface survive until surface is desstroyed
See merge request GNOME/gtk!5825
Matthias Clasen [Thu, 13 Apr 2023 05:39:08 +0000 (05:39 +0000)]
Merge branch 'wip/exalm/print-dialog' into 'main'
printunixdialog: Remove a redundant style class
See merge request GNOME/gtk!5823
Matthias Clasen [Thu, 13 Apr 2023 05:23:06 +0000 (07:23 +0200)]
openuriportal: Detect if the interface isn't there
Check the portal version number before trying to use
it. Most importantly, this will detect the case where
the interface isn't supported at all, since the proxy
will report a version of 0 in that case.
Fixes: #5733
Matthias Clasen [Thu, 13 Apr 2023 04:37:45 +0000 (04:37 +0000)]
Merge branch 'bilelmoussaoui/g-i' into 'main'
g-i: Fix GtkGLArea type name
See merge request GNOME/gtk!5824
Benjamin Otte [Thu, 13 Apr 2023 02:30:24 +0000 (04:30 +0200)]
wayland: Keep EGL window around when hidden
See previous commit:
We want to keep resources around as long as the surface exists.
Benjamin Otte [Thu, 13 Apr 2023 01:33:59 +0000 (03:33 +0200)]
wayland: Don't destroy the wl_surface on hide()
We want to keep the wl_surface around, because surfaces create their
resources on construct and keep them until destroyed. See the HWND ond
Windows and the XWindow on X11.
This is relevant for graphics resources, where we want to have access
to the VkSurface and eglSurface while the GdkSurface is hidden.
We also want these surfaces to be permanent and not change during the
lifetime of the GdkSurface.
What we can - and must - destroy however are the xdg surfaces, because
those handle visibility on screen.
And we also need to ensure no buffer is attached, so that during the
next creation of the xdg surface we don't get a protocol error.