| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Make subsurfaces for X11 as follows:
- toplevel
- override-redirect
- moves with the parent
Attempt to use subsurfaces for popovers again
This does not quite work yet
|
|
|
|
|
| |
Otherwise, overridden pick vfuncs don't work and we e.g. pick widgets
scrolled away in a viewport.
|
| |
|
|
|
|
|
| |
No need to keep a separate current_event variable around, we don't use
it anyway.
|
|
|
|
|
| |
These signals are going away, don't mention them in
the docs.
|
|
|
|
| |
We can use the existing ::event handler for this.
|
| |
|
|
|
|
| |
This fixes hidpi blurred outset shadows
|
|
|
|
|
|
|
|
| |
We have a couple of Python 3.x scripts that parse C files, and since C
does not have any encoding, we need to force one ourselves, to avoid the
case when we're running the build in a non-UTF-8 locale.
https://bugzilla.gnome.org/show_bug.cgi?id=792497
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GtkGesture is a GtkEventController. gtk_event_controller_dispose() calls
_gtk_widget_remove_controller(). That NULLs the pointer-to-Controller in
our EventControllerData but does not delete said ECData from our GList.
Subsequently, if that same Widget gets unparent()ed, that method calls
unset_state_flags(), which leads to doing reset_controllers() if we are
insensitive. Now, unlike most most other loops over the GList of ECData,
reset_controllers() does not skip nodes whose pointer-to-Controller is
NULL. So, we call gtk_event_controller_reset(NULL) and get a CRITICAL.
This surfaced in a gtkmm program. The Gesture is destroyed before the
Widget. The Widget then gets dispose()d, which calls unparent()… boom.
I didn’t find an MCVE yet but would hope this logic is correct anyway:
The simplest fix is to make the loop in gtk_widget_reset_controllers()
skip GList nodes with a NULL Controller pointer, like most other such
loops, so we avoid passing the NULL to gtk_event_controller_reset().
In other, live cases, _gtk_widget_run_controllers() loops over the GList
and removes/frees nodes having NULL Controllers, so that should suffice.
But this clearly was not getting a chance to happen in the failing case.
https://bugzilla.gnome.org/show_bug.cgi?id=792624
|
|
|
|
| |
(cherry picked from commit 814c55d473c6a7ab9f930421aad5612a351ba68d)
|
|
|
|
|
| |
Fix bug 771986 "Inconsistent 'row-activated' signal emission before \
drag'n'drop, 'activate-on-single-click'=TRUE, 'reorderable'=TRUE"
|
|
|
|
|
| |
We only use the graphene_rect_t version of the offset_clip for the
fallback cairo nodes.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This state flag is used in several places in GTK+, for example to
ignore RESIZE_INC hints if tiled. Setting it is also necessary for
backwards compatibility with applications that changed their behaviour
when tiled, such as GNOME Terminal and its MATE fork.
Signed-off-by: Simon McVittie <smcv@debian.org>
https://bugzilla.gnome.org/show_bug.cgi?id=789357
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit c415bef5de introduced support for the new _GTK_EDGE_CONSTRAINTS
atom. If the compositor supports that atom, however, we were always
setting the tiled state, even if no actual tiling information is
available, where the correct action is to completely remove any traces
of the tiled state.
Fix that by correctly removing the tiled state when compositor supports
_GTK_EDGE_CONSTRAINTS Xatom.
https://bugzilla.gnome.org/show_bug.cgi?id=788516
|
|
|
|
|
|
| |
Otherwise, gtk_widget_get_window returns NULL and we can't successfully
perform a grab via the later gdk_set_grab call. This fixes the entry
completion in the file chooser not working.
|
|
|
|
| |
Widgets are visible by default now.
|
|
|
|
|
|
|
| |
Filter models rely on views taking a ref on every node
they care about. GtkIconView was not doing that. Amazingly,
this has never shown up in a bug so far, until I spotted
the fallout in gnome-font-viewer.
|
|
|
|
|
|
|
|
| |
Test that filter models propagate ::row-changed if there is
an external reference on the node, and not otherwise. This
is showing up in buggy icon view behaviour, where the icon
view is not redrawing if the content changes in a model that
is below a filter model.
|
|
|
|
| |
Otherwise dangling callbacks may lead to crashes.
|
|
|
|
|
|
| |
We shouldn't apply the shadow offset when drawing the child offscreen,
instead apply it afterwards when we draw it to the current render
target.
|
| |
|
| |
|
|
|
|
|
| |
The default gtk_widget_contains/gtk_widget_pick don't consider
insensitive widgets.
|
|
|
|
| |
The later code would just ref both styles and not do anything else.
|
|
|
|
|
|
| |
We have to explicitly set some of these to their default values so
expand-set is TRUE and the boxes stop propagating their expansion state
up the hierarchy.
|
|
|
|
| |
Leftover from 7046463b880c79b227594a2b35a6c625119d286e
|
|
|
|
| |
Now even simpler!
|
|
|
|
|
| |
If g_type_from_name fails, try gtk_builder_get_type_from_name
before giving up. This fixes cases like GtkPrinterOptionWidget.
|
| |
|
|
|
|
|
| |
safe guard against people using the returned coordinate values without
checking the return value of gtk_widget_translate_coordinates.
|
|
|
|
|
| |
We will later pass this variable on to some other functions, so be safe
against them using the value.
|
|
|
|
| |
Clicking on the Credits button should not close the dialog.
|
| |
|
|
|
|
|
| |
These come from an FBO so we need to flip the texture coords on the y
axis, just like we do everywhere else.
|
|
|
|
|
|
|
| |
This reverts commit 8f3cb2658a79d20912b6f2ec96bc7e6bbdaeb067.
This didn't quite work out, since being in the object tree is
a prerequisite for showing up in the property editor.
|
| |
|
|
|
|
|
| |
When we unrealize a GL area with outstanding textures,
call gdk_texture_release_gl on them to avoid later crashes.
|
|
|
|
|
|
|
|
|
|
| |
The inspector may hold on to render nodes and textures
beyond the lifetime of the widget (and thus the GL
resources). To handle this situation, allow the widget
to explicitly release the GL resources, and make
the texture available on the clent-side as a cairo
surface. This lets the recorder still show the content
after the widget is gone.
|
|
|
|
|
|
|
|
| |
This was causing us to leak, in the following scenario:
1) gtk_widget_destroy is called on a GL area
2) dispose is run and clears the context
3) the GL area is unrealized, but the context is already cleared,
so we leak all the GL buffers
|
|
|
|
|
| |
We need to make the context current for deleting
textures as well, so just do it unconditionally.
|
|
|
|
| |
We must only delete the texture if it is not NULL.
|
|
|
|
|
| |
This is needed to test the GL resource cleanup
code paths.
|
|
|
|
|
|
|
| |
Handle the situation that a GL texture might remain
in use (e.g. by a slow frame, or by the recorder)
In that case, we can't modify it but must use a
new one. Keep a pool of GL textures for this eventuality.
|
|
|
|
|
|
| |
g_list_model_get_item is transfer full, so we need
to drop the references we get from it. This was showing
up while testing the GL texture cache in GtkGLArea.
|
|
|
|
| |
We may get a NULL renderer here.
|
|
|
|
| |
Really calculate the menubar height, not the width.
|
|
|
|
|
| |
We need to pull the proper size from the size request cache and adjust
it accordingly.
|