Hacker News new | ask | show | jobs
by kazinator 1033 days ago
Ah, I finally found what you're talking about. This thing has multiple elements called Properties. There is a Properties tab above the left pane. When a measure is selected, a Measure item appears there: a trash button to delete selected measures and a button to insert measures.

You're talking about a right click context menu which has a Measure Properties command. That indeed opens behind the main window. (Is this using GTK+? I regularly see this issue in GTK+ programs on Windows like GIMP; it's been there for at least 15 years.)

I see that I can set the actual time of a measure to, say 1/4 which creates a one beat pickup measure if it's the first measure.

1 comments

No it's all Qt. I've tried fixing a few cases but yeah, seems something fundamental to the Qt library. I'd like to think that dialog will probably go away and be rolled into the properties pane, which I gather is Martin's (tantacrul's) preference.
OK, so I now know of three instances in different software of a similar issue on Windows: a window coming up in the background.

One is in Qt (as manifested by this MuseScore behavior with the dialog).

The other is a long-standing thing in GTK+, visible for instance in the Windows version of GIMP.

Then there is this funny issue I fixed in something called the Cygnal project (a fork of the Cygwin DLL):

https://www.kylheku.com/cgit/cygnal/commit/?id=5d50aea73aace...

When a program that has never serviced its Windows message pump runs another program via CreateProcess, and that program creates a window, that program's window fails to come to the foreground.

This goes away with a dummy call to TranslateMessage.

I have a vague feeling this could all be related.

I just assumed it was because the window owner wasn't set properly (but it's a long time since I did windows desktop app development). Strangely I can't reproduce the problem now - you can certainly send the dialog behind the parent, but it comes up above it initially as expected.