The application pops up a dialog when an item in the media pool is no longer available and hangs the application (even when started with -nogui).
I found a similar question here.
I added self.PopupHandling = True, but Deadline does not catch it. Checking with Process Explorer, the popup dialog’s owner is Resolve.exe, which is started and managed by my plugin.
There’s a second part to popup handling, you’ll have to create handlers for the popups.
I’m sure you’ve see it but the example here in the docs shows a couple of popuphandlers.
self.AddPopupHandler( "Popup 3", "OK" ) will fire when a popup with the title/name of “Popup 3” and it will press the button labeled/named “OK”. To figure this out, there’s the Spy++ feature in Visual Studio. Or you can use WinSpy++ to figure out the title and the name of the button.
yeah, I tried the more advanced stuff too, like self.HandleQtPopups = True and self.SetEnvironmentVariable( "QT_USE_NATIVE_WINDOWS","1" ) without luck.
But in the topic I linked above there is this:
But Deadline does not detect DaVinci’s popups.
I also used Spy++ to get the title and the button of the popup, and tried setting it, but still no success.
Do you get anything in stdout from DaVinci? Maybe it can be run headlessly?
Also, maybe try setting that environment variable QT_USE_NATIVE_WINDOWS on the machine instead of letting the worker do it from inside the plugin. It’s a bit of a strech but it might help.
Unfortunately it outputs the error to stdout only after you close the popup…
Yes, it can run headlessly, with -nogui, that’s what I’m doing, but it still shows the popup. (Yes, I know, I should report it to their support, but I thought we could solve this the easy way…)
Using self.SetEnvironmentVariable("QT_USE_NATIVE_WINDOWS", "1") works, without it I cannot inspect the button with spy++. So one small achievement, we know that DaVinci uses Alien Widgets.