https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #33 from RJVB ---
@Tsu Jan: now that you know that the KFileWidget triggers a QtCurve bug, do you
also know why it only happens with its 2 context menus? I'd guess it must be
something KFileWidget does in setting up
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #32 from RJVB ---
Do you think you could try to get Kvantum to work on Mac? It currently builds
on my development system but doesn't work properly (doesn't show any SVG, I'd
guess), neither with the native Cocoa QPA nor
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #31 from Tsu Jan ---
I forgot to say that I successfully tested this solution on two machines (one
very old and with nvidia, the other new and with Intel) and also on virtualbox,
with Qt-5.7.1 and Qt-5.5.x. All tests
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #30 from Tsu Jan ---
@ Yichao Yu
I didn't work with QtCurve's code but, both practically and theoretically, I'm
sure that setting "WA_TranslucentBackground" before widget creation is the
safest solution. The code
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #29 from Yichao Yu ---
The usage is basically unsupported by Qt and is a hack from the very beginning
so unless Qt provide a proper way to do it this is always a bug of the style.
The only question is that what's a better
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #28 from Tsu Jan ---
Much to my surprise, after playing with various codes, I found out that this is
really a QtCurve bug!
Let me summarize the problem and its new solution:
To make Qt windows translucent, we should
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #27 from Tsu Jan ---
Although satisfied with the "ensurePolished" solution on x11, I reverted to the
freeze code (with Kvantum) under KDE to study the problem a little and found
that actually there was a way to close
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #26 from RJVB ---
No, if the freeze were a deadloop one couldn't get out of it by clicking
swapping focus back and forth.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #25 from Tsu Jan ---
OK, I just wanted to know if the freeze was caused by a loop, in which case
you'd see a difference. Before using ensurePolished(), I didn't see a high CPU
usage either.
The freeze -- without
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #24 from RJVB ---
Wayland only works on Linux, i.e. a 2016 Intel N3150 with "Cherryview"
graphics. No idea if there's extra CPU usage that isn't simply due to
inefficiency in the simple Qt Wayland compositor. On the
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #23 from Tsu Jan ---
I have a relatively new laptop with Intel and an old desktop computer with
nVidia. All menus are OK on both computers.
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #22 from Tsu Jan ---
Any extra CPU usage under wayland or Mac?
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #21 from RJVB ---
FWIW, I just tried under Wayland, using Qt 5.7.1's
qtwayland/examples/wayland/qwindow-compositor . Same effect without the patch
as on Mac: the menu freezes but can be unlocked by clicking on the
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #20 from RJVB ---
This is probably more an issue with the underlying OpenGL implementation, maybe
even the drivers for my GPU (a 2011 i7 with an Intel HD3000). I see the same
glitch when I use the XCB (X11) plugin on
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #19 from Tsu Jan ---
Created attachment 103238
--> https://bugs.kde.org/attachment.cgi?id=103238=edit
x11 menus
All menus are OK on Linux (x11) now. Qt's behavior should be different in Mac.
--
You are receiving
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #18 from Tsu Jan ---
Strange! The whole point of ensurePolished() is to call `QStyle::polish()`
before creation of native windows. Here, on x11, it works not only with menus
but also with most top level widgets,
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #17 from RJVB ---
Created attachment 103233
--> https://bugs.kde.org/attachment.cgi?id=103233=edit
corner effect on Mac
Well, the fix does have some side-effects on Mac; rounded corners don't look so
nice anymore
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #16 from RJVB ---
They are ;)
--
You are receiving this mail because:
You are watching all bug changes.
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #15 from Tsu Jan ---
Glad to know it works for QtCurve too! The developer(s) of QtCurve should be
informed about the whole problem and its solution.
--
You are receiving this mail because:
You are watching all bug
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #14 from RJVB ---
You sire (sic) are a saviour!
I rewrote addAlphaChannel() so basically it does
if (qobject_cast(widget)) {
widget->ensurePolished();
} else {
// previous
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #13 from Tsu Jan ---
OK, I may be wrong but I couldn't find any problem in kio. Of course, someone
knowledgeable about kio would know better.
I tested with Kvantum and found that ensurePolished() (only at
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #12 from Tsu Jan ---
I haven't found anything in kio yet but I'm pretty sure about this:
The freeze happens when a window handle is going to be created for those menus,
whether by setting WA_NativeWindow to `true`
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #11 from Tsu Jan ---
> You'll also have to look in kdiroperator.cpp, that's where the context menu
> (for right-clicking on items in the file list) is defined.
Thanks! I will soon.
> I have rounded corners
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #10 from RJVB ---
Heh, and your reaction taught about a widget style I never heard about, and
which might be even more appropriate to implement an "OS X" lookalike that
makes KDE applications actually looks good on Mac
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #9 from Tsu Jan ---
@RJVB
Actually, I was lead to your report by google, while trying to know why
KFileDialog is an exception and which source file I should read. Your patch
says "kfilewidget.cpp". That will be a good
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #8 from RJVB ---
Ah, thanks!
This sounds like a reasonable beginning of explanation that just leaves 2
questions open:
- why is only the toplevel pop-up menu concerned, i.e. why can I open its
submenus normally when
https://bugs.kde.org/show_bug.cgi?id=374224
Tsu Jan changed:
What|Removed |Added
CC||tsujan2...@gmail.com
---
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #6 from RJVB ---
I'm not saying those patches should go into the code... but they *can* be used
by anyone who wants to look into this.
Debugging yes, but how (and with that I don't only mean "how do you get back
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #5 from David Faure ---
Over my dead body ;-)
This needs debugging, and it sounds like the bug is in QtCurve itself, if it
doesn't happen with other widget styles.
--
You are receiving this mail because:
You are watching
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #4 from RJVB ---
Comment on attachment 103038
--> https://bugs.kde.org/attachment.cgi?id=103038
workaround patch
the same hack has to be applied to `KDirOperator::setupMenu(int whichActions)`
(at the end of the
https://bugs.kde.org/show_bug.cgi?id=374224
--- Comment #3 from RJVB ---
Created attachment 103038
--> https://bugs.kde.org/attachment.cgi?id=103038=edit
workaround patch
For now I'm applying this workaround patch which forces a different widget
style on the options menu,
https://bugs.kde.org/show_bug.cgi?id=374224
RJVB changed:
What|Removed |Added
Version|unspecified |5.29.0
CC|
32 matches
Mail list logo