Commit Graph

28744 Commits

Author SHA1 Message Date
573636d84a Fix open location entry when pressing '~'
Recent changes in GTK default input method
makes ~ char to start as dead key, that's
why filechooser stopped detecting it for the
keybinding to open location entry.

We also make sure '~' appears in the location
entry (instead of being emtpy).

Fixes #4911 for GTK3
2022-08-21 15:26:06 -04:00
84db04e6e1 Merge branch 'static-builds-hinstance' into 'gtk-3-24'
GdkWin32: Add support for static builds

See merge request GNOME/gtk!4538
2022-08-18 18:05:36 +00:00
4892c8901b Further simplification 2022-08-16 23:14:44 +02:00
02ea88bba2 Remove unneeded unblock
When a signal handler is disconnected, it doesn't matter if it
was blocked or not, so there's no need to unlock it before
disconnection.
2022-08-15 15:35:06 +02:00
c9a3b42734 Unblock signal on update_relative_to in Gtk.Popover
When a Gtk.Popover loses the focus, it blocks the grab_notify
signal from the associated widget, and it unblocks it when it
regains the focus. To know whether the signal is or not blocked,
it uses the priv->grab_notify_blocked flag.

On the other hand, when the method update_relative_to() is
called, all the signals connected to the old associated widget
are disconnected, and connected to the new widget.

Unfortunately, the priv->grab_notify_blocked flag isn't updated,
which means that if update_relative_to() is called while the
Gtk.Popover doesn't have the focus (for example, because the
user switched into another application), when the focus is
regained, the code in window_focus_in() will see that
priv->grab_notify_blocked is TRUE and will unblock the handler;
but that handler wasn't blocked because the one that was blocked
was disconnected when update_relative_to() was called. This
shows a WARNING in the console:

GLib-GObject-WARNING **: ../../../gobject/gsignal.c:2692: handler '5146' of instance '0x556912f84f40' is not blocked

This patch fixes this.

Fix https://gitlab.gnome.org/GNOME/gtk/-/issues/4777
2022-08-15 09:31:24 +02:00
31490df2b1 Remove annotation for GError 2022-07-20 09:52:40 +02:00
3d406fc446 Fix annotation of serialize and deserialize function 2022-07-20 00:02:42 +02:00
fea466c13c docs: improve doc of gtk_style_context_get()
When using this function in GtkSourceView (for GTK 3), there was a
mistake for retrieving a GdkRGBA value.

So, better document the function to avoid further mistakes.
2022-07-13 17:12:42 +02:00
13174cd70d gtkmodifierstyle.c: Release symbolic color memory 2022-06-24 10:05:07 +08:00
4873f63c07 Adwaita: Hide SSD box-shadow border on maximized windows
The 1px shadow was showing up on adjacent monitors when a SSD window was
maximized. Additionally this was causing mutter to skip direct scanout
of these windows, because they extend beyond the screen.

Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2304
2022-06-19 16:24:59 +02:00
a2c54c739e [quartz] Ensure valid GdkWindowImplQuartz references.
In case of an offscreen window find its onscreen embedder, and NULL
any GdkWindowImpl that's not quartz, checking all return values.

This replaces 16ded683, removing its unnecessary search_for_nearest
functions.

Any unchecked cast of a GdkWindowImpl to GdkWindowImplQuartz risks at
least getting an invalid member reference, not just the ones in
gdk_quartz_window_get_foo, and all calls to gdk_quartz_window_get_foo need
to be checked, not just Gtk's internal calls. The motivation was that
transient_for was getting set on a Gimp offscreen window and that caused a
crash in raise_transient.
2022-06-09 13:22:59 -07:00
16ded6835c macos: Fix to offscreen window selections in Gimp 2.99 2022-05-27 21:26:50 +00:00
1cf58407be Merge branch 'dont-dist-gresource-srcs' into 'gtk-3-24'
Don't dist some generated sources

See merge request GNOME/gtk!4738
2022-05-25 13:22:23 +00:00
ff847c43ad Drop win32/Makefile.msvc-introspection
We no longer use the autotools 'dist-hook' to generate the items that we
need to build introspection with the Visual Studio projects, so drop the
autotools files and bits that we had to support this.  So, for
introspection on Visual Studio via the project files, it is purely via
NMake at this point.
2022-05-19 11:33:25 +08:00
c05d21c9af gtk: Build: Prefix deprecated source listings
...with gtk_, so that they are distinguished from other names and is
more clear to people.
2022-05-19 10:58:01 +08:00
574bd57f72 gtk-sources.inc: Split base sources in two parts
Otherwise, NMake will choke when creating a filelist from it.  This
U1095 error is nasty! :|
2022-05-19 10:58:01 +08:00
f4811ea1f1 build: Drop gtk3-install.[vsprops|props]
They are not used anymore, and are removed at this point.
2022-05-19 09:41:48 +08:00
aa83f9fb42 gtk/Makefile.am: Split out more items
... to gtk-sources.inc, since we will want to share the items in the lists that
were split out.
2022-05-19 09:41:48 +08:00
e21a578cb1 gtk: Rename gtk-mkenums-headers.mak to gtk-sources.inc
We want to reuse more sources listings in other non-autotools build
systems.
2022-05-19 09:41:48 +08:00
bac9ff22f5 gtk/Makefile.am: Fix distcheck
Apparently distcheck expects the generated gtk.gresource.xml to be
there.
2022-05-18 15:32:21 +08:00
39940e0892 gtk/: Don't distribute the generated sources
We already generate some of the sources for all builds, so extend this
to the other generated sources as well, since the Visual Studio projects
added support for generating these sources too.
2022-05-17 18:43:36 +08:00
54d319bc32 gtkimagedefinition: Extend commit b38266c0
Similarly, uses casts in `gtk_image_definition_unref()`. Compilation
succeeds without them, unlike in `gtk_image_definition_ref()`, because
`gtk_image_definition_unref()` is not called internally, unlike
`gtk_image_definition_ref()`. But the build would fail if some function
defined in the module were changed in the future to call
`gtk_image_definition_unref()`, and we can future-proof it now. This
also removes an inconsistency in how we access the members of the union.
2022-04-30 13:09:04 -04:00
a5d208adaf gtkimagedefinition: Check array bounds
`jhbuild build gtk+-3` with GCC 12 fails with:
```
In function ‘gtk_image_definition_ref’,
    inlined from ‘gtk_image_definition_new_empty’
    at ../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:107:10:
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:241:13: error:
    array subscript ‘GtkImageDefinition {aka union _GtkImageDefinition}[0]’
    is partly outside array bounds of ‘GtkImageDefinitionEmpty[1]’
    {aka ‘struct _GtkImageDefinitionEmpty[1]’} [-Werror=array-bounds]
  241 |   def->empty.ref_count++;
      |   ~~~~~~~~~~^~~~~~~~~~
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:
    In function ‘gtk_image_definition_new_empty’:
../../../../jhbuild/checkout/gtk+-3/gtk/gtkimagedefinition.c:105:34: note:
object ‘empty’ of size 8
  105 |   static GtkImageDefinitionEmpty empty = { GTK_IMAGE_EMPTY, 1 };
      |                                  ^~~~~
```
and many similar errors.

Fix it by casting `GtkImageDefinition` to `GtkImageDefinitionEmpty` or
similar, as appropriate.

Essentially backports 4dcd02e85315f487310e2e01fe9412706a77dc35 from main to gtk-3-24.
2022-04-30 13:08:32 -04:00
56ada2f01f gtkfilechooser: add missing nullable annotation 2022-04-01 13:14:00 -05:00
5a0ffbbb45 icons: add legacy icons
- add legacy hicolor icons relied on in testsuite

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4754
2022-03-11 19:16:28 +01:00
d5ce63508f GdkWin32: Retrieve module HINSTANCE in static builds 2022-03-02 16:25:09 +01:00
d13e05be93 Fix dllMain win32 2022-03-01 06:03:36 +00:00
887c9dea94 Merge branch 'meson-use-gnome-post-install' into 'gtk-3-24'
Meson: Use gnome.post_install

See merge request GNOME/gtk!4379
2022-02-22 10:08:16 +00:00
5c92e6ddc6 inspector: Show app ID and resource path in the General tab
This makes it easier to figure out those values (which are mentioned in
the GtkApplication documentation) rather than working that out from the
way they're generated (or documented as being generated).
2022-02-17 12:27:19 +01:00
160ef56de4 Merge branch 'fix-cell-accessible-leak' into 'gtk-3-24'
Fix a leak of cell accessibles

See merge request GNOME/gtk!4471
2022-02-12 00:56:20 +00:00
cc977be580 Fix a leak of cell accessibles
gtk_container_cell_accessible_add_child is transfer none,
so we need to drop the reference we hold, otherwise it
leaks.
2022-02-11 18:39:55 -05:00
38a1a23a53 Merge branch '3-24-30-api-additions-since-marker' into 'gtk-3-24'
Add `Since` markers for new API between 3.24.11 and 3.24.30

See merge request GNOME/gtk!4425
2022-02-08 00:15:10 +00:00
5cdb9548d9 Merge branch 'tiled-border-fix-3-24' into 'gtk-3-24'
theme: Fix incorrect border color for tiled windows for 3.24

See merge request GNOME/gtk!4437
2022-02-08 00:13:27 +00:00
08f47e0b01 Merge branch 'gtkcellrendererprogress-tabular' into 'gtk-3-24'
GtkCellRendererProgress: use tabular figures

See merge request GNOME/gtk!4444
2022-02-07 23:53:50 +00:00
95e9d85716 inspector: Search by pointer address
Useful to find a widget that corresponds to a pointer address in gdb.
2022-02-04 18:16:50 +01:00
1b78ed4488 theme: Fix incorrect border color for tiled windows 2022-02-02 06:50:52 +02:00
133ff7687a Add Since marker for GtkHeaderBarAccessible
It was added in 3.24.11.
2022-01-30 19:09:50 +02:00
990d298720 Add Since marker to new accessibility API from 3.24.30
- GtkFileChooserWidgetAccessible
 - GtkPlugAccessible
 - GtkSocketAccessible
2022-01-30 18:56:55 +02:00
503e8f40b9 GtkCellRendererProgress: use tabular figures
yields more visually stable appearance
2022-01-28 19:52:47 +01:00
248783c202 Merge branch 'fix-places-crash' into 'gtk-3-24'
gtkplacessidebar.c: add bookmark null checking

See merge request GNOME/gtk!4399
2022-01-18 23:50:47 +00:00
c7f9c80eb5 gtkplacessidebar.c: add bookmark null checking
This fixes nautilus crash and perhaps other callers issues.
Nautilus (and sometimes glib) crashes with malformed URI inside of the
bookmarks file .config/gtk-3.0/bookmarks when it has no LABEL.

This is result from the closed glib MR #2065 analysis and agreement.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2065#note_1091979

Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>

Fixes: #4643
2022-01-18 18:21:22 -05:00
b5d0c44a87 Meson: Use gnome.post_install
Only available on Meson 0.57.0 and later
2022-01-14 17:30:35 +01:00
8252f99e08 Merge branch 'win32-fix-altgr-gtk3' into 'gtk-3-24'
IMContextSimple: Fix AltGr not working on Win32 [GTK3]

See merge request GNOME/gtk!4374
2022-01-13 19:46:26 +00:00
f03bf55688 IMContextSimple: Fix AltGr not working on Win32
The old code assumed that any key press containing Ctrl or Alt cannot be
regular text input. This is not correct on Win32 as AltGr = Ctrl + Alt.
2022-01-13 13:43:23 +01:00
0387486407 printing: Unref old spool_io before setting new one
Unref private spool_io of GtkPrintJob before setting it to a new one
in gtk_print_job_set_source_file() and gtk_print_job_set_source_fd()
to prevent a leak.

Fixes: #4627
2022-01-12 12:46:27 +01:00
8fc2af7bb3 Merge branch 'fontchooser-fix-3' into 'gtk-3-24'
docs: Fix gtk_tree_selection_get_selected_rows()

See merge request GNOME/gtk!4354
2022-01-12 02:49:27 +00:00
0b26e8b8a3 GtkFileChooserNativeWin32: add GTK grab only when modal 2022-01-11 14:23:10 +01:00
b4eeada025 fontchooser: Fix axis name handling
This code was just broken.

Fixes: #4603
2022-01-07 14:27:17 -05:00
e9370d1dc8 make flat buttons look flat (and allow non-flat button in toolbars) 2022-01-07 16:59:24 +00:00
cef3293184 Visual Studio projects: Generate versioned sources
Instead of relying on the ones that are currently shipped with the tarballs,
generate them from their .in counterparts prior to the build.  This includes
the Resource Scripts (.rc) for libgdk/libgtk, as well as gtkversion.h, in
addition to gdkversionmacros.h which can now be generated during prebuild.
2022-01-04 14:17:38 +08:00