Comments (7)
Thanks for reporting and the confirmation!
I will write up the PR with the quick and dirty option for now (unless you want to instead?).
from labwc.
unless you want to instead?
I can do that, just give me a minute.
from labwc.
:)
PS: Being able to run
labwc
nested is so convenient for gathering this kind of information!
And yes, absolutely! Having to restart the main DRM session all the time during development or debugging would be a nightmare for me.
from labwc.
Thanks @jp7677
Really nice to get this fix in before the release.
from labwc.
Hm.. so surface->parent
is != NULL
but it seems ->data
is. Hrm.
Could you add something like wlr_log(WLR_ERROR, "parent: %p", parent);
in there?
Edit:
I assume what is happening here is that the parent of the managed X11 surface is in fact an unmanaged X11 surface which doesn't set the ->data
pointer as doesn't have a view. So if the wlr_log() indeed confirms parent
to be NULL
we have two options:
- the quick and dirty one: just modifying the return to
if (!parent || !parent->toplevel.handle)
- the proper one: loop through all parents until we find a toplevel handle or the parent is
NULL
As we actually intended to release today I'd be fine with the quick and dirty one if its confirmed that it fixes the crash.
CC @johanmalm @jlindgren90
from labwc.
Adding the log statement indeed confirms what you wrote:
[../src/xwayland.c:546] parent: (nil)
from labwc.
Using above quick fix does indeed fixes the segfault. The settings window also opens after the click.
diff --git a/src/xwayland.c b/src/xwayland.c
index b109b1f..0c44b7c 100644
--- a/src/xwayland.c
+++ b/src/xwayland.c
@@ -543,7 +543,7 @@ init_foreign_toplevel(struct view *view)
return;
}
struct view *parent = (struct view *)surface->parent->data;
- if (!parent->toplevel.handle) {
+ if (!parent || !parent->toplevel.handle) {
return;
}
wlr_foreign_toplevel_handle_v1_set_parent(view->toplevel.handle, parent->toplevel.handle);
from labwc.
Related Issues (20)
- Input to nano, the pop didn't follow the cursor in labwc7.2 HOT 9
- drawing tablet sampled at a much lower rate when using bluetooth with pressure sensitivity enabled HOT 8
- GoToDesktop with keyboard and mouse HOT 7
- middle click button and active applications? HOT 1
- Inhibit idle question HOT 2
- Debian Packaging - Fixing Terminal Recommends HOT 4
- Add user-configurable blocklist for the security-context implementation
- Touchscreen bindings? HOT 4
- tilde symbol in pipemenus might be causing issues with commands? HOT 1
- Set the LANG in $HOME/.config/labwc/environment , It don't take effect on the menu of windows title. HOT 2
- firefox --kiosk: starts but does not show a window at all HOT 3
- Conditional actions example HOT 1
- Flickering with magnifier and gammastep HOT 7
- Plan for release `0.7.3`
- Dual graphic card HOT 1
- gamma control of output 43 failed when launching wlsunset HOT 2
- DnD between wayland and xwayland not working
- [Question] max_render_time adjustment setting? HOT 6
- Labwc allegedly slow to send fractional scale to applications HOT 3
- Assertion failed at `wlr_libinput_get_device_handle()` in nested session HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from labwc.