kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
851 stars 36 forks source link

Radium hangs after JACK termination #396

Open suhr opened 8 years ago

suhr commented 8 years ago

It should show an error message instead.

kmatheussen commented 8 years ago

It should show an error message. Would be quite strange if it doesn't show. Are you sure you just haven't seen it?

On Thu, Jan 7, 2016 at 8:06 PM, Сухарик notifications@github.com wrote:

It should show an error message instead

— Reply to this email directly or view it on GitHub https://github.com/kmatheussen/radium/issues/396.

suhr commented 8 years ago

I didn't see it.

kmatheussen commented 8 years ago

Can you check again?

suhr commented 8 years ago

Yep. Nothing have changed.

kmatheussen commented 8 years ago

I haven't changed anything. I just think that the window does actually open, and waits for your action (i.e. pressing "OK"), and that's why Radium apparently hangs. However, I think the window is just hidden behind some other window. That's what I want you to check. Especially on Gnome this happens very often. I gave up trying to make popup windows pop up on Gnome.

kmatheussen commented 8 years ago

Oh, wait, maybe this bug is also caused by buggy gfx drivers. Does this help?

diff --git a/Qt/Qt_Main.cpp b/Qt/Qt_Main.cpp
index 07670b4..25b54aa 100755
--- a/Qt/Qt_Main.cpp
+++ b/Qt/Qt_Main.cpp
@@ -624,7 +624,7 @@ protected:

       if (dontshow.contains(message)==false){
         msgBox.setText(message);
-        msgBox.show();
+        safeShow(&msgBox);
       }

       rt_message_status = RT_MESSAGE_SHOWING;
suhr commented 8 years ago

Nope.

kmatheussen commented 8 years ago

I've added GL_lock() to lots of window openings now. Maybe it works. There's also something called "Safe mode" in edit -> preferences -> OpenGL, which might make things work.

suhr commented 8 years ago

UPDATE: this happens with JACK1 but not JACK2.

kmatheussen commented 8 years ago

Great! I'll try jack1. (I don't use jack1 because it kicks out clients that use too much time, and that's inconvenient when developing)