summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* css: Avoid an invalid readfix-filter-valueMatthias Clasen2021-02-101-4/+7
| | | | | | This was broken in ea7185bdb1ba423495340a9b880e619a861064fd. Pointed out by Christian Hergert.
* Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-106-6/+6
|\ | | | | | | | | Matthiasc/for master See merge request GNOME/gtk!3177
| * iconbrowser: Use the right iconMatthias Clasen2021-02-101-1/+1
| | | | | | | | We have an app icon, lets use it.
| * print-editor: Use the non-devel iconMatthias Clasen2021-02-102-2/+2
| | | | | | | | We are no longer a nightly print editor.
| * node-editor: Use the non-devel iconMatthias Clasen2021-02-103-3/+3
|/ | | | We're now a respectable, stable node editor.
* Merge branch 'fix-clipped-texture' into 'master'Matthias Clasen2021-02-104-9/+112
|\ | | | | | | | | | | | | gl: Fixed clipped offscreen rendering Closes #3651 See merge request GNOME/gtk!3175
| * gl: Fixed clipped offscreen renderingfix-clipped-textureMatthias Clasen2021-02-094-9/+112
|/ | | | | | | | | | | | When we are rendering a texture node to an offscreen, and we have a clip, we must force the offscreen rendering. Otherwise, the code will notice: Hey, it already is a texture node, so no need to render it to a texture again. But when clipping is involved, that is exactly what we want to do. Testcase included. Fixes: #3651
* Merge branch 'wip/chergert/fix-maximized-shadows' into 'master'Matthias Clasen2021-02-091-1/+1
|\ | | | | | | | | adwaita: disable shadows when window is maximized or fullscreen See merge request GNOME/gtk!3173
| * Adwaita: don't cast shadows for halt-tiled windowswip/chergert/fix-maximized-shadowsJakub Steiner2021-02-091-4/+1
| | | | | | | | | | | | | | - while the case of a single half tiled window casting shadow is valid, the main use case for half tiled windows is when they have a neighbor. The :backdrop should be enough of a focus indicator and we avoid shadow casting on neighbors that are on the same Z level.
| * adwaita: disable shadows when window is maximized or fullscreenChristian Hergert2021-02-091-0/+3
|/ | | | | | | | | These shadows cause a significant draw performance drop for maximized windows. Disabling them increases the chances we can have faster scroll performance of text. There is some risk here for systems where they have a dock and you expect the shadow to draw beneath that dock for transparency reasons.
* Merge branch 'win32-drop-formats-leak' into 'master'Matthias Clasen2021-02-091-3/+6
|\ | | | | | | | | win32: Fix some leaks See merge request GNOME/gtk!3167
| * win32: Fix some leakswin32-drop-formats-leakMatthias Clasen2021-02-071-3/+6
| | | | | | | | | | | | | | | | My reading of the code is that gdk_drop_new() is not consuming the content formats it is given, so the caller must not pass a new reference. Needs testing on Windows.
* | Merge branch 'wip/chergert/fix-bgr8-uploads' into 'master'Matthias Clasen2021-02-091-0/+6
|\ \ | | | | | | | | | | | | gl: handle B8G8R8 texture data when uploading See merge request GNOME/gtk!3171
| * | gl: handle B8G8R8 texture data when uploadingwip/chergert/fix-bgr8-uploadsChristian Hergert2021-02-081-0/+6
|/ / | | | | | | | | | | | | | | We do not need to translate this on the CPU when we can instead push it to the GPU in the same format and allow it to swizzle. This fixes a huge number of memory allocations found while uploading the GTK animation in widget-factory.
* | Merge branch 'wip/chergert/macos-perf-fixes' into 'master'Matthias Clasen2021-02-087-369/+267
|\ \ | | | | | | | | | | | | macos: various OpenGL performance fixes See merge request GNOME/gtk!3170
| * | macos: improve use of swap rectangles with OpenGLChristian Hergert2021-02-082-24/+23
| | |
| * | macos: only flush when not attachedChristian Hergert2021-02-081-1/+2
| | | | | | | | | | | | | | | This makes it so we only flush the context for the NSView, not the context that is the center of our center of the GL context spokes.
| * | macos: mark region as unlikelyChristian Hergert2021-02-081-1/+1
| | |
| * | gsk: make gsk_render_node_get_node_type() use constChristian Hergert2021-02-082-2/+2
| | | | | | | | | | | | | | | | | | There isn't any state to modify in the type so we can use const here. Doing so allows some of the renderer code to use const across a number of functions so that repeated calls are elided if inlined.
| * | gsk: make render node getters pureChristian Hergert2021-02-081-71/+71
| | | | | | | | | | | | | | | | | | | | | | | | These do not do modify anything so they can be marked as pure to potentially ellide calls. Since they do dereference, I do not believe we can make them const although that is unclear since we could technically just return a pointer + offset. Therefore it *might* be possible to also make these G_GNUC_CONST.
| * | gsk: make render node getters constChristian Hergert2021-02-083-328/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | This also removes the return if fail macros from these as a good portion of them didn't have them anyway. I think it's fair to say that access to these incorrectly is a programmer error. It significantly reduces the amount of code generated into generally a movss,ret.
| * | profiler: allow using gdk profiler functions without bracesChristian Hergert2021-02-081-8/+8
|/ / | | | | | | | | | | | | | | Just compiling these out means you have to write code slightly differently so that you don't end up with "if ();" afterwards. This adds a "do {} while (0)" so that we're still semantically a statement but will also compile out.
* | Merge branch 'wip/exalm/headerbar' into 'master'Matthias Clasen2021-02-081-2/+11
|\ \ | | | | | | | | | | | | headerbar: Don't use gtk_widget_unparent() with GtkBox See merge request GNOME/gtk!3169
| * | headerbar: Null-check boxes when removing window controlswip/exalm/headerbarAlexander Mikhaylenko2021-02-081-2/+2
| | | | | | | | | | | | | | | Prevent a crash when show-title-buttons value changes to FALSE during destruction.
| * | headerbar: Don't use gtk_widget_unparent() with GtkBoxAlexander Mikhaylenko2021-02-081-2/+11
|/ / | | | | | | | | gtk_widget_unparent() is for widget implementations, it's not supposed to be used from outside.
* | Merge branch 'printing-temporary-queues-gtk4' into 'master'Matthias Clasen2021-02-072-60/+267
|\ \ | | | | | | | | | | | | printing: Create temporary queues for Avahi printers See merge request GNOME/gtk!3160
| * | printing: Show all Avahi advertised printersMarek Kasik2021-02-051-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit unsubscribes CUPS backend from a DBus signal in idle when listening for new items on Avahi. Since GDBus emits gathered signals in idle while checking whether the signal has been unsubscribed it could happen that a signal was not processed because it was removed from hash table of subscribed signals. This caused the situation where printers advertised on Avahi were not listed in CUPS backend sometimes. We need those signals since this happens when switching from a general subscription which listens to signals for all Avahi services to a specific one which listens to just _ipp._tcp and _ipps._tcp (chicken and egg problem).
| * | printing: Create temporary queues for Avahi printersMarek Kasik2021-02-052-57/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change extends set of Avahi advertised printers which works with Gtk's CUPS print backend. It creates a temporary queue (local printer) for each Avahi printer in CUPS instead of accessing them directly (via CUPS library). This makes some printers work which did not work before and also gives users more options to change in the print dialog. This also changes naming of printers to be in accordance with CUPS. It uses '_' instead of '-' and has hostname appended for CUPS remote printers.
* | | Merge branch 'focus' into 'master'Matthias Clasen2021-02-071-31/+41
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | listbox: Fix handling of non-focusable rows Closes #3633 See merge request GNOME/gtk!3152
| * | | listbox: Fix handling of non-focusable rowsElias Projahn2021-02-031-31/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit modifies the gtk_list_box_row_grab_focus() implementation to correctly return FALSE in case the row couldn't be focused. This behavior will also be honored by gtk_list_box_row_focus() to properly handle focus in that case. To achieve that, the method has been restructured slightly. Closes #3633
* | | | Merge branch 'fix-x11-drop' into 'master'Matthias Clasen2021-02-071-2/+13
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x11: More dnd fixes Closes #3654 See merge request GNOME/gtk!3166
| * | | | x11: More dnd fixesfix-x11-dropMatthias Clasen2021-02-071-2/+13
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whenever we communicate targets, we need to the union, otherwise we don't tell the other side about our serialization. This makes drops of images from gtk4-icon-browser to gimp and libreoffice succeed in transferring data. Fixes: #3654
* | | | Merge branch 'fix-x11-drop' into 'master'Matthias Clasen2021-02-071-31/+41
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | Fix x11 drop Closes #3652 See merge request GNOME/gtk!3165
| * | | x11: Pass mimetypes when creating output streamMatthias Clasen2021-02-071-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When creating the output stream for a drop, we must pass the mimetypes we support, otherwise the picking of the right handler does not work. Fixes: #3652
| * | | x11: Fix a memory leakMatthias Clasen2021-02-071-0/+2
| | | | | | | | | | | | | | | | | | | | We ref the content formats here, so we better unref it when done.
| * | | x11: Some code cleanupsMatthias Clasen2021-02-071-26/+26
|/ / / | | | | | | | | | Fix some glaring misindentation.
* | | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2021-02-0635-48/+270
|\ \ \ | | | | | | | | | | | | | | | | Implement drop-shadow css filter See merge request GNOME/gtk!3163
| * | | Add tests for the css filter propertyMatthias Clasen2021-02-0630-2/+63
| | | | | | | | | | | | | | | | | | | | Test that we can parse filters and that we don't accept invalid filters.
| * | | cssfiltervalue: Reject invalid filtersMatthias Clasen2021-02-064-2/+6
| | | | | | | | | | | | | | | | | | | | The Filter Effects Spec doesn't allow negative values for most of the filter parameters.
| * | | cssfiltervalue: Fix blur filter interpretationMatthias Clasen2021-02-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | According to https://www.w3.org/TR/filter-effects-1/, the length passed to blur() is the standard deviation, and according to https://www.w3.org/TR/css-backgrounds-3/#shadow-blur the blur radius is twice the standard deviation.
| * | | cssfiltervalue: Implement drop-shadowsMatthias Clasen2021-02-062-6/+7
| | | | | | | | | | | | | | | | We have all the pieces, so this is surprisingly easy.
| * | | cssshadowvalue: Add a 'filter mode'Matthias Clasen2021-02-061-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Shadow values created by gtk_css_shadow_value_new_filter or gtk_css_shadow_value_parse_filter interpret their radius value as standard deviation. Add a flag for this mode, and use it where necessary.
| * | | cssshadowvalue: Add a parsing functionMatthias Clasen2021-02-061-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | Add a variant of the parse function that parses just a single (non-box) shadow, as required for the drop-shadow filter.
| * | | cssshadowvalue: Add gtk_css_shadow_value_pop_snapshotMatthias Clasen2021-02-062-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the counterpart ot gtk_css_shadow_value_push_snapshot. To make this easy, move the determination whether we need a shadow out of the push function and save it.
| * | | cssshadowvalue: Drop the underscoreMatthias Clasen2021-02-063-9/+9
| | | | | | | | | | | | | | | | | | | | Rename _gtk_css_shadow_value_parse to drop the underscore. It was the only underscore-prefixed function in this file.
| * | | Add tests for the css filter propertyMatthias Clasen2021-02-052-0/+46
| | | | | | | | | | | | | | | | Test that we can parse filters.
| * | | css: Implement the drop-shadow filterMatthias Clasen2021-02-051-14/+58
| | | | | | | | | | | | | | | | We have all the pieces, so this is surprisingly easy.
| * | | cssshadowvalue: Add a parsing functionMatthias Clasen2021-02-052-0/+33
| | |/ | |/| | | | | | | | | | | | | Add a variant of the parse function that parses just a single (non-box) shadow, as required for the drop-shadow filter.
* | | Updated Czech translationMarek Černocký2021-02-061-2/+2
| | |
* | | Merge branch 'module-ext' into 'master'Matthias Clasen2021-02-063-0/+13
|\ \ \ | |/ / |/| | | | | | | | | | | | | | meson: use correct module file extension on macOS Closes #3645 See merge request GNOME/gtk!3162