LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.16k stars 1.01k forks source link

Drag+Drop is broken #6291

Open RiedleroD opened 2 years ago

RiedleroD commented 2 years ago

Bug Summary

I can't drop anything anymore - dragging technically works, but when I try to drop whatever is being dragged, nothing happens.

Steps to reproduce

drag an instrument into the instrument panel

Reproducable on:

Not reproducable on:

Expected behavior

instrument gets dropped in the instrument panel

Actual behavior

after dropping, no instrument is added and the cursor starts behaving oddly (switches from dragging icon to pointer icon randomly)

Affected LMMS versions

Every master I tried to compile - not 1.2.2 stable though, even if compiled manually.

Logs

Click to expand
Notice: could not set realtime priority.
Lv2 plugin SUMMARY: 5 of 29  loaded in 7 msecs.
For details about not loaded plugins, please set
  environment variable "LMMS_LV2_DEBUG" to nonempty.
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
QDragManager::drag in possibly invalid state
cyber-bridge commented 2 years ago

Can you try starting LMMS with QT_QPA_PLATFORM=xcb lmms?

Edit: possible related (https://github.com/LMMS/lmms/issues/3466)

RiedleroD commented 2 years ago

Can you try starting LMMS with QT_QPA_PLATFORM=xcb lmms?

That's how I tested XWayland compatibility.

possible related (#3466)

idk, possibly similar in origin, but that one seems to have been resolved upstream. Doesn't really sound like something that could've been fixed in LMMS, too.

djnotes commented 2 years ago

@cyber-bridge it's weird. When I start it with the QT_QPA_PLATFORM=xcb, the drag and drop works on Fedora.

Grissess commented 2 years ago

Friends! I think I've been bitten with this on 5904b24 (the current master as of this writing). This is a source-based Linux with Sway, so things tend to be painfully new. QT_QPA_PLATFORM=xcb works, but is just one more thing to remember :)

Mouse input works for the most part, except for click and drag, which utterly fails. When trying to start another drag (or, I swear, on occasion on exit), I get this line in the tty:

QDragManager::drag in possibly invalid state

... after each subsequent attempt to start a drag. (I'm pulling instrument plugins into the song editor as my test case.)

On some occasions, even with the main UI closed, in the state after a drag has failed (hung?), the app doesn't shut down properly, and has to be ^C'd in the terminal (lacking any other interface to do so).

I'm open to testing hypotheses as you have them :)

Rossmaxx commented 1 year ago

I remember someone talking about this issue before on discord and also about some sort of a workaround. Maybe @zonkmachine might know.

zonkmachine commented 1 year ago

I remember someone talking about this issue before on discord and also about some sort of a workaround. Maybe @zonkmachine might know.

I know of no workaround. I do remember several previous issues with drag/drop, possibly unrelated, but I believe they were all A. Qt issues (upstream) B. All supposedly fixed

I personally only see issues with drag/drop when compiling with the fpe debug flags.

Thread 1 "lmms" received signal SIGFPE, Arithmetic exception.
0x00007ffff6a55215 in QBasicDrag::startDrag() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
(gdb) bt full
#0  0x00007ffff6a55215 in QBasicDrag::startDrag() () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#1  0x00007ffff1e59eca in  () at /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#2  0x00007ffff6a53f92 in QBasicDrag::drag(QDrag*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#3  0x00007ffff6a513e9 in QDragManager::drag(QDrag*) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
zonkmachine commented 1 year ago

For the record. This is only affecting some builds and I would guess this isn't a problem on our side.