gtk4.git
5 years agoFix a doc typo
Luca Bacci [Tue, 28 Jan 2020 20:42:03 +0000 (20:42 +0000)]
Fix a doc typo

6 years agoUpdate POTFILES.in
Piotr Drąg [Thu, 17 Oct 2019 18:11:58 +0000 (20:11 +0200)]
Update POTFILES.in

6 years agogl: Remove an unimplemented profiler counter
Matthias Clasen [Wed, 16 Oct 2019 21:53:34 +0000 (17:53 -0400)]
gl: Remove an unimplemented profiler counter

6 years agogl: Add debug spew to texture atlas
Matthias Clasen [Wed, 16 Oct 2019 21:13:20 +0000 (17:13 -0400)]
gl: Add debug spew to texture atlas

6 years agoglyph cache: Go back to memcmp
Matthias Clasen [Sun, 13 Oct 2019 00:09:14 +0000 (20:09 -0400)]
glyph cache: Go back to memcmp

Be careful to avoid padding data, and only
compare the relevant parts, leaving out the
hash key.

6 years agoCosmetics
Matthias Clasen [Wed, 16 Oct 2019 10:34:10 +0000 (06:34 -0400)]
Cosmetics

6 years agoRevert "icon theme: Avoid a string copy"
Matthias Clasen [Thu, 17 Oct 2019 12:15:30 +0000 (07:15 -0500)]
Revert "icon theme: Avoid a string copy"

This reverts commit 0895f0211e535ac0bdf7e461bb0e046bdee60c4d.

This negatively affected icons that are included as
resources, since peek_path returns NULL for them.

6 years agoUpdate Croatian translation
Goran Vidović [Thu, 17 Oct 2019 12:03:32 +0000 (12:03 +0000)]
Update Croatian translation

6 years agoMerge branch 'wip/chergert/opbuffer' into 'master'
Matthias Clasen [Thu, 17 Oct 2019 11:37:07 +0000 (11:37 +0000)]
Merge branch 'wip/chergert/opbuffer' into 'master'

Add OpBuffer helper for building op buffer

See merge request GNOME/gtk!1131

6 years agoUpdate Croatian translation
Goran Vidović [Thu, 17 Oct 2019 11:36:10 +0000 (11:36 +0000)]
Update Croatian translation

6 years agoUpdate Croatian translation
Goran Vidović [Thu, 17 Oct 2019 11:23:00 +0000 (11:23 +0000)]
Update Croatian translation

6 years agoMerge branch 'otte/for-master' into 'master'
Benjamin Otte [Wed, 16 Oct 2019 20:25:57 +0000 (20:25 +0000)]
Merge branch 'otte/for-master' into 'master'

Otte/for master

See merge request GNOME/gtk!1136

6 years agoentry: Return boolean from gtk_entry_grab_focus_without_selecting()
Benjamin Otte [Wed, 16 Oct 2019 19:36:05 +0000 (21:36 +0200)]
entry: Return boolean from gtk_entry_grab_focus_without_selecting()

This follows recent changes to gtk_widget_grab_focus().

6 years agorender: Fix goto
Benjamin Otte [Wed, 16 Oct 2019 15:48:25 +0000 (17:48 +0200)]
render: Fix goto

if we have pushed a shadow, we better pop it again.

Broken since d1ea591f18f

6 years agoInitialize cursor alpha to 1.0
Benjamin Otte [Wed, 16 Oct 2019 13:02:52 +0000 (15:02 +0200)]
Initialize cursor alpha to 1.0

That way, non-animated cursors don't disappear.

6 years agobindings: Make gtk_bindings_add_callback() allow for variant args
Benjamin Otte [Wed, 16 Oct 2019 01:07:43 +0000 (03:07 +0200)]
bindings: Make gtk_bindings_add_callback() allow for variant args

6 years agobindings: Refactor
Benjamin Otte [Wed, 16 Oct 2019 01:01:49 +0000 (03:01 +0200)]
bindings: Refactor

Refactor code so that each bindings type has its own struct instead of
sharing one big union.

6 years agoMerge branch 'fix-popover-styles' into 'master'
Timm Bäder [Wed, 16 Oct 2019 07:42:45 +0000 (07:42 +0000)]
Merge branch 'fix-popover-styles' into 'master'

Fix popover styles (GTK 4)

Closes #2061

See merge request GNOME/gtk!1079

6 years agoFix a crash with glyph caching
Matthias Clasen [Wed, 16 Oct 2019 02:52:28 +0000 (22:52 -0400)]
Fix a crash with glyph caching

We need to treat atlas-less cached glyphs like
atlases, when it comes to invalidating text node
render data.

6 years agogsk: Fix uninitialized memory
Matthias Clasen [Wed, 16 Oct 2019 00:54:24 +0000 (20:54 -0400)]
gsk: Fix uninitialized memory

This was causing crashes in some circumstances.

6 years agoicon theme: Avoid a string copy
Matthias Clasen [Tue, 15 Oct 2019 23:20:05 +0000 (19:20 -0400)]
icon theme: Avoid a string copy

GIO has gained a way to peek at a GFile
path; lets use that.

6 years agoicon theme: Avoid mime sniffing
Matthias Clasen [Tue, 15 Oct 2019 23:05:52 +0000 (19:05 -0400)]
icon theme: Avoid mime sniffing

Themed icons are always pngs or svgs.
Take advantage of that to avoid costly
mime sniffing.

6 years agopixbuf utils: Preserve format information
Matthias Clasen [Tue, 15 Oct 2019 23:04:01 +0000 (19:04 -0400)]
pixbuf utils: Preserve format information

When we are loading themed icons, we know if
we deal with an svg or png file, so it is
entirely unnecessarily to have gdk-pixbuf
use g_content_type guess to rediscover that
information.

Change the pixbuf utils apis we have to allow
passing format information down to where we
can use it when creating the pixbuf loader.

6 years agogl: Speed up icon cache lookups
Matthias Clasen [Tue, 15 Oct 2019 12:27:16 +0000 (08:27 -0400)]
gl: Speed up icon cache lookups

Use gdk_texture_set_render_data to avoid
hash table lookups when we can.

6 years agogl: Slightly rework the icon cache api
Matthias Clasen [Tue, 15 Oct 2019 11:51:05 +0000 (07:51 -0400)]
gl: Slightly rework the icon cache api

Return a pointer to the IconData struct. This is
closer to the glyph cache api, and will allow us
to add similar shortcuts. For now, just store
texture coords in the form we need, avoiding
converting them over and over.

6 years agoCache glyph textures in render nodes
Matthias Clasen [Tue, 15 Oct 2019 04:14:43 +0000 (00:14 -0400)]
Cache glyph textures in render nodes

This is a quick implementation that avoids many
glyph cache lookups. We keep an array of direct
pointers in the text render node, and throw those
cached pointers away whenever any atlases have
been dropped (since that may invalidate the cached
glyphs).

6 years agoSome more vertex data reshuffling
Matthias Clasen [Tue, 15 Oct 2019 03:28:15 +0000 (23:28 -0400)]
Some more vertex data reshuffling

In some cases, the vertex data is just a trivial
modification of the default data, so do that instead
of recalculating it.

6 years agoFix load_vertex_data
Matthias Clasen [Tue, 15 Oct 2019 02:09:12 +0000 (22:09 -0400)]
Fix load_vertex_data

There was a copy-paste error that set all
uv coordinates to 0,0.

6 years agogl: avoid calculating vertex_data until necessary
Christian Hergert [Sun, 13 Oct 2019 23:39:54 +0000 (16:39 -0700)]
gl: avoid calculating vertex_data until necessary

In many cases of the switch, we do not need the vertex data. This moves
the creation of the vertex_data array into a secondary function and only
calculates it the cases for which it is required.

6 years agogl: Drop buffer_size
Matthias Clasen [Fri, 11 Oct 2019 18:10:56 +0000 (14:10 -0400)]
gl: Drop buffer_size

No need to maintain buffer_size separately.
It is always vertices->len * sizeof (GskQuadVertex).

6 years agoDrop OP_CHANGE_VAO
Matthias Clasen [Fri, 11 Oct 2019 17:59:58 +0000 (13:59 -0400)]
Drop OP_CHANGE_VAO

Instead, we accumulate vertices in a separate
array, which simplifies various things and lets
us avoid the extra copying step for the vao.

6 years agoprototype OpBuffer helper for building op buffer
Christian Hergert [Fri, 11 Oct 2019 14:23:33 +0000 (10:23 -0400)]
prototype OpBuffer helper for building op buffer

6 years agoMerge branch 'otte/for-master' into 'master'
Benjamin Otte [Tue, 15 Oct 2019 18:47:57 +0000 (18:47 +0000)]
Merge branch 'otte/for-master' into 'master'

Otte/for master

See merge request GNOME/gtk!1133

6 years agowidget: Don't grab focus when can-focus == false
Benjamin Otte [Tue, 15 Oct 2019 14:30:46 +0000 (16:30 +0200)]
widget: Don't grab focus when can-focus == false

... inside the default vfunc.

Instead, walk the children until we find the first widget that can be
focused. If no child can be focused, return FALSE from grab_focus.

6 years agowidget: Insist that widgets are rooted to be focusable
Benjamin Otte [Tue, 15 Oct 2019 14:11:03 +0000 (16:11 +0200)]
widget: Insist that widgets are rooted to be focusable

This check was in the vfunc before, but it's a general rule, so apply it
before.

6 years agowidget: Make grab_focus() fail on insensitive widgets
Benjamin Otte [Tue, 15 Oct 2019 14:07:24 +0000 (16:07 +0200)]
widget: Make grab_focus() fail on insensitive widgets

We can return FALSE early now instead of silently failing in
gtk_window_set_focus().

6 years agowidget: Make gtk_widget_grab_focus() return a boolean
Benjamin Otte [Tue, 15 Oct 2019 13:34:16 +0000 (15:34 +0200)]
widget: Make gtk_widget_grab_focus() return a boolean

So now it can actually fail.

It doesn't yet though.

6 years agobindings: Add gtk_binding_entry_add_callback()
Benjamin Otte [Tue, 15 Oct 2019 03:50:52 +0000 (05:50 +0200)]
bindings: Add gtk_binding_entry_add_callback()

This allows bindings that have no public API.

6 years agobindings: Add gtk_binding_entry_add_action()
Benjamin Otte [Mon, 14 Oct 2019 19:34:40 +0000 (21:34 +0200)]
bindings: Add gtk_binding_entry_add_action()

Allows registering bindings for activating widget actions, as an
alternative to signal emissions.

6 years agowidget: Make gtk_widget_activate_action() return TRUE/FALSE
Benjamin Otte [Mon, 14 Oct 2019 19:34:00 +0000 (21:34 +0200)]
widget: Make gtk_widget_activate_action() return TRUE/FALSE

TRUE if an action was successfully activated, FALSE if it wasn't found.

6 years agogtk: Add GtkNoSelection
Benjamin Otte [Mon, 7 Oct 2019 04:28:28 +0000 (06:28 +0200)]
gtk: Add GtkNoSelection

Allows not to have anything selected.

6 years agosingleselection: Fix model property
Benjamin Otte [Mon, 7 Oct 2019 04:36:25 +0000 (06:36 +0200)]
singleselection: Fix model property

1. Make the model property construct-only. Allowing to change the
   model has invalid side effects.

2. Add a getter for the model property.

6 years agoexpander: Rename CSS nodes
Benjamin Otte [Sun, 13 Oct 2019 19:00:40 +0000 (21:00 +0200)]
expander: Rename CSS nodes

The expander icon is renamed from "arrow" to "expander".
The expander widget itself is renamed from "expander" to
"expander-widget" (Better ideas welcome).

This makes it possible to have an "expander" icon in more places then
the GtkExpander widget (in particular in tree lists) and not
confuse it with arrows.

6 years agocssimagebuiltin: Don't create cairo nodes for empty icons
Timm Bäder [Tue, 15 Oct 2019 05:13:28 +0000 (07:13 +0200)]
cssimagebuiltin: Don't create cairo nodes for empty icons

GTK_CSS_IMAGE_BUILTIN_NONE is not going to draw anything of course, so
don't bother creating an empty cairo node for it.

6 years agogl renderer: Fix an out of bounds read
Timm Bäder [Tue, 15 Oct 2019 05:13:14 +0000 (07:13 +0200)]
gl renderer: Fix an out of bounds read

Fixes #2200

6 years agonotebook: Avoid a crash
Matthias Clasen [Sat, 12 Oct 2019 23:00:35 +0000 (19:00 -0400)]
notebook: Avoid a crash

This is fallout from turning the menu into
a popover, causing it to be be a child.

6 years agoglyph cache: Fix handling of big glyphs
Matthias Clasen [Sat, 12 Oct 2019 22:26:09 +0000 (18:26 -0400)]
glyph cache: Fix handling of big glyphs

We were putting big glyphs in the cache, in their
own texture, but forgetting to mark the texture
as permanent, so it could be reused, leading to
occasional misrendering. Fix this by marking these
textures as permanent, and explicitly freeing them
when the cache entry gets old.

6 years agoshadow cache: Remove outdated comments
Matthias Clasen [Sat, 12 Oct 2019 21:06:39 +0000 (17:06 -0400)]
shadow cache: Remove outdated comments

No comments are better than outdated comments.

6 years agogl: Increate the cache check frequency
Matthias Clasen [Sat, 12 Oct 2019 16:34:56 +0000 (12:34 -0400)]
gl: Increate the cache check frequency

Otherwise, we spread the cache over more atlases
than necessary, increasing the amount of texture
changes in each frame.

6 years agogl: Interleave cache aging
Matthias Clasen [Sat, 12 Oct 2019 16:33:43 +0000 (12:33 -0400)]
gl: Interleave cache aging

Every few frames, we do extra work for the
cache aging. Arrange for the glyph and icon
caches to not cause extra work on the same
frame, to smooth things out.

6 years agogl: Improve debug spew for caches
Matthias Clasen [Sat, 12 Oct 2019 16:32:49 +0000 (12:32 -0400)]
gl: Improve debug spew for caches

Dump similar information for both caches,
and correct the unused percentage for
the atlases.

6 years agoUpdate stackswitcher CSS
Timm Bäder [Sat, 12 Oct 2019 16:26:54 +0000 (18:26 +0200)]
Update stackswitcher CSS

Add the spacing to circular stack switchers back.

6 years agostackswitcher: Inherit from GtkWidget
Timm Bäder [Sat, 12 Oct 2019 16:09:12 +0000 (18:09 +0200)]
stackswitcher: Inherit from GtkWidget

6 years agocolorscale: Remove some duplicated code
Timm Bäder [Sat, 12 Oct 2019 15:53:59 +0000 (17:53 +0200)]
colorscale: Remove some duplicated code

6 years agomenuitem: Remove unused members
Timm Bäder [Sat, 12 Oct 2019 15:41:20 +0000 (17:41 +0200)]
menuitem: Remove unused members

6 years agomenu: Align function parameters
Timm Bäder [Sat, 12 Oct 2019 15:37:37 +0000 (17:37 +0200)]
menu: Align function parameters

6 years agomenu: Remove unused members
Timm Bäder [Sat, 12 Oct 2019 15:27:58 +0000 (17:27 +0200)]
menu: Remove unused members

6 years agomenu: Remove menu_queue_resize
Timm Bäder [Sat, 12 Oct 2019 15:24:42 +0000 (17:24 +0200)]
menu: Remove menu_queue_resize

The have_layout flag is unused, so this is equal to a normal
gtk_widget_queue_resize().

6 years agoMerge branch 'glyphcache-fiddling' into 'master'
Matthias Clasen [Sat, 12 Oct 2019 15:56:08 +0000 (15:56 +0000)]
Merge branch 'glyphcache-fiddling' into 'master'

Glyphcache fiddling

See merge request GNOME/gtk!1132

6 years agogl: Make icon cache work like glyph cache
Matthias Clasen [Sat, 12 Oct 2019 15:46:10 +0000 (11:46 -0400)]
gl: Make icon cache work like glyph cache

Replace timestamp tracking with an accessed bit
here too, to keep the glyph and icon cache code
similar.

6 years agogl: Do less work on glyph caching
Matthias Clasen [Sat, 12 Oct 2019 15:03:04 +0000 (11:03 -0400)]
gl: Do less work on glyph caching

There is no need for us to be very precise about
aging the glyph entries. It is enough to check
occasionally and mark old entries. This reduces
the overhead of work we do every frame on the
caches, at the cost of letting glyphs linger
a bit longer in the cache.

6 years agoiconcache: Fix icon padding
Timm Bäder [Sat, 12 Oct 2019 07:17:24 +0000 (09:17 +0200)]
iconcache: Fix icon padding

6 years agogl: Simplify glyph cache lookup
Matthias Clasen [Sat, 12 Oct 2019 05:35:13 +0000 (01:35 -0400)]
gl: Simplify glyph cache lookup

Make this function more similar to the icon
cache equivalent, and simplify it a bit. We
don't use the boolean return, and we don't need
to look at the age of entry when marking it
used.

6 years agogl: Don't use memcmp for comparing cache keys
Matthias Clasen [Sat, 12 Oct 2019 05:00:08 +0000 (01:00 -0400)]
gl: Don't use memcmp for comparing cache keys

Some innocent change made us use a stack-allocated
key, and things broke. Lets go back to comparing
cache keys field by field.

6 years agoMake the scrolling demo more versatile
Matthias Clasen [Sat, 12 Oct 2019 02:04:30 +0000 (22:04 -0400)]
Make the scrolling demo more versatile

Allow to swap out the content, so we can compare
text and icon scrolling.

6 years agogl: Handle row stride for icon cache upload
Matthias Clasen [Sat, 12 Oct 2019 01:17:30 +0000 (21:17 -0400)]
gl: Handle row stride for icon cache upload

Same as the previous commit: Downloading a texture
may in theory give us data with a stride, so handle
that.

6 years agogl: Handle row stride for glyph cache upload
Matthias Clasen [Sat, 12 Oct 2019 01:16:40 +0000 (21:16 -0400)]
gl: Handle row stride for glyph cache upload

In theory, we can have data with a stride here,
so set the necessary parameters to tell GL about
it.

6 years agogl: Do less work to maintain caches
Matthias Clasen [Sat, 12 Oct 2019 00:42:24 +0000 (20:42 -0400)]
gl: Do less work to maintain caches

Remember which atlases were removed, and only
check those when looking for icons or glyphs
to remove. For most frames, we don't have to
check at all since no atlases were removed.

6 years agogl: Speed up icon caching
Matthias Clasen [Fri, 11 Oct 2019 23:36:26 +0000 (19:36 -0400)]
gl: Speed up icon caching

Avoid expensive padding, and just upload the
image in several slices.

6 years agoAdd an icon scrolling demo
Matthias Clasen [Fri, 11 Oct 2019 21:35:58 +0000 (17:35 -0400)]
Add an icon scrolling demo

This is good to exercise the GL renderer icon cache.

6 years agogl renderer: Get blur node child only once
Timm Bäder [Fri, 11 Oct 2019 19:56:12 +0000 (21:56 +0200)]
gl renderer: Get blur node child only once

6 years agogl renderer: Shorten function
Timm Bäder [Fri, 11 Oct 2019 19:52:26 +0000 (21:52 +0200)]
gl renderer: Shorten function

6 years agogl renderer: Avoid copying a rect
Timm Bäder [Fri, 11 Oct 2019 19:49:13 +0000 (21:49 +0200)]
gl renderer: Avoid copying a rect

6 years agogl: Avoid stray use of doubles
Matthias Clasen [Thu, 10 Oct 2019 19:13:14 +0000 (15:13 -0400)]
gl: Avoid stray use of doubles

Everything else in this code is floats,
so stick to that and avoid unnecessary
precision.

6 years agoCosmetics
Matthias Clasen [Thu, 10 Oct 2019 03:17:15 +0000 (23:17 -0400)]
Cosmetics

6 years agogl: glyph cache tweaks
Matthias Clasen [Thu, 10 Oct 2019 01:49:43 +0000 (21:49 -0400)]
gl: glyph cache tweaks

Reduce the cost of lookups by storing
the hash value directly.

6 years agogl: Shrink CachedGlyph structs slightly
Matthias Clasen [Thu, 10 Oct 2019 19:12:34 +0000 (15:12 -0400)]
gl: Shrink CachedGlyph structs slightly

Plug a hole in this struct.

6 years agogsk: Store color bit info in text nodes
Matthias Clasen [Thu, 10 Oct 2019 11:31:08 +0000 (07:31 -0400)]
gsk: Store color bit info in text nodes

Keep the 'has color glyphs' info in text nodes,
instead of determining it over and over in both
the vulkan and gl backends.

6 years agogl renderer: Remove unused modelview matrix
Timm Bäder [Fri, 11 Oct 2019 14:56:24 +0000 (16:56 +0200)]
gl renderer: Remove unused modelview matrix

6 years agogl renderer: Don't copy outset shadow node outline
Timm Bäder [Fri, 11 Oct 2019 14:38:58 +0000 (16:38 +0200)]
gl renderer: Don't copy outset shadow node outline

6 years agogl renderer: Don't copy colors into render ops
Timm Bäder [Fri, 11 Oct 2019 13:06:51 +0000 (15:06 +0200)]
gl renderer: Don't copy colors into render ops

6 years agosnapshot: Don't move shadows too much
Timm Bäder [Fri, 11 Oct 2019 11:47:40 +0000 (13:47 +0200)]
snapshot: Don't move shadows too much

dx/dy are relative to the node bounds, which are already moved by x/y.

6 years agogl renderer: Grow unblurred outset shadow outline on the gpu
Timm Bäder [Fri, 11 Oct 2019 08:16:39 +0000 (10:16 +0200)]
gl renderer: Grow unblurred outset shadow outline on the gpu

6 years agogl renderer: Fix glsl rounded rect shrinking
Timm Bäder [Fri, 11 Oct 2019 08:15:58 +0000 (10:15 +0200)]
gl renderer: Fix glsl rounded rect shrinking

Previous code would add rounded corners to a rect with all 0 corners
when growing.

6 years agogl renderer: Cosmetics
Timm Bäder [Fri, 11 Oct 2019 07:32:24 +0000 (09:32 +0200)]
gl renderer: Cosmetics

6 years agogl renderer: Only add outset shadow center piece if dx/dy != 0
Timm Bäder [Fri, 11 Oct 2019 06:46:33 +0000 (08:46 +0200)]
gl renderer: Only add outset shadow center piece if dx/dy != 0

6 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 10 Oct 2019 12:00:22 +0000 (14:00 +0200)]
Updated Spanish translation

6 years agoMerge branch 'wip/chergert/avoid-renderop-copy' into 'master'
Matthias Clasen [Wed, 9 Oct 2019 22:49:36 +0000 (22:49 +0000)]
Merge branch 'wip/chergert/avoid-renderop-copy' into 'master'

gl: avoid copying RenderOp

See merge request GNOME/gtk!1128

6 years agogl: avoid copying RenderOp to GArray
Christian Hergert [Wed, 9 Oct 2019 22:41:53 +0000 (15:41 -0700)]
gl: avoid copying RenderOp to GArray

Instead of copying the (rather large) RenderOp to the GArray, we can
simply set the fields directly in the allocated space for the struct.
In most cases, there wont be any allocations to make as the array size
is kept in tact across frame renderings.

6 years agogl: use memcmp to compare glyph cache keys
Christian Hergert [Wed, 9 Oct 2019 21:46:36 +0000 (14:46 -0700)]
gl: use memcmp to compare glyph cache keys

We can just use memcmp here because even in the use of lookup keys with
C99 initializers, we can rely on any space between fields added by the
compiler to be zeroed. So we might as well use wider memory cmopares.

6 years agoMerge branch 'wip/chergert/const-glyph-cache' into 'master'
Matthias Clasen [Wed, 9 Oct 2019 21:45:41 +0000 (21:45 +0000)]
Merge branch 'wip/chergert/const-glyph-cache' into 'master'

gl: avoid copying GskGLCachedGlyph in lookup

See merge request GNOME/gtk!1127

6 years agogl: avoid copying GskGLCachedGlyph in lookup
Christian Hergert [Wed, 9 Oct 2019 21:27:48 +0000 (14:27 -0700)]
gl: avoid copying GskGLCachedGlyph in lookup

This saves a minor amount of CPU time by avoiding the copy of structure
on each lookup (which is short-lived).

6 years agotextview: use gtk_snapshot_new_with_parent()
Christian Hergert [Wed, 9 Oct 2019 19:56:06 +0000 (12:56 -0700)]
textview: use gtk_snapshot_new_with_parent()

As recommended by Timm Bäder at:

https://gitlab.gnome.org/GNOME/gtk/commit/3b959456ac5335639e9642571f59f17ec8ee97f7#note_621655

6 years agogl: short-circuit on NULL program
Christian Hergert [Wed, 9 Oct 2019 18:51:32 +0000 (11:51 -0700)]
gl: short-circuit on NULL program

The NULL check is a more inclusive check than each of the individual
op->op checks.

6 years agoMerge branch 'wip/chergert/textview-fix-selection' into 'master'
Matthias Clasen [Wed, 9 Oct 2019 17:50:40 +0000 (17:50 +0000)]
Merge branch 'wip/chergert/textview-fix-selection' into 'master'

textview: fix off-by-one in y_range invalidation

See merge request GNOME/gtk!1126

6 years agotextview: fix off-by-one in y_range invalidation
Christian Hergert [Wed, 9 Oct 2019 17:43:34 +0000 (10:43 -0700)]
textview: fix off-by-one in y_range invalidation

Previously, with selection bounds, we could have a state where a line
display with selections set would eroniously stay in the cache. This
aggresively releases those at the boundary cases fixing deselection
drawing state.

6 years agogl renderer: Remove rounded rect intersection code
Timm Bäder [Wed, 9 Oct 2019 14:41:02 +0000 (16:41 +0200)]
gl renderer: Remove rounded rect intersection code

Caused correctness issues.

Fixes #1917

6 years agowidget: Compare adjusted sizes in size_allocate
Timm Bäder [Sun, 6 Oct 2019 16:11:08 +0000 (18:11 +0200)]
widget: Compare adjusted sizes in size_allocate

6 years agogl renderer: Fix scaled fallback node drawing
Timm Bäder [Sun, 6 Oct 2019 15:45:54 +0000 (17:45 +0200)]
gl renderer: Fix scaled fallback node drawing

6 years agoinspector: Don't add padding to spinbuttons
Timm Bäder [Sun, 6 Oct 2019 12:47:36 +0000 (14:47 +0200)]
inspector: Don't add padding to spinbuttons

That looks stupid.