Conversation
|
I suspect |
|
Indeed This one is from Details |
|
def paintEvent(self, ev):
self._Iren.Render()Could it be possible that |
|
I'll refactor |
|
Sometimes it's in paintEvent of PySurfer, too: https://github.com/mne-tools/mne-python/pull/8831/checks?check_run_id=1823678469#step:12:3075 Ideally this would be solved by VTK Render() being smart enough to be a no-op if it actually can't render, but in the meantime maybe we need to patch paintEvent in the respective vtkRenderWindowInteractor(s) at the right times to force it to be a no-op. This would mean somewhere in Brain and somewhere in PySurfer we could use a similar monkey-patching This would not fix the failures we get with |
|
I agree with you, patching I think we might need to patch |
I would just patch it in a contextmanager during |
|
This is easier to implement, I'll try your idea first. |
|
Following the traceback downward: I would add the context manager to |
|
I ran into this locally: so even init needs to be patched apparently. |
|
Or better to patch |
|
Nevermind, it can't be patched because it's not a |
|
I patched A good way would be to patch only |
|
All green, one last nitpick then I think we're good! |
|
pyvista/pyvistaqt#79 could be useful as well. |
|
Even with the patch, I still get this locally: Reproduced on https://github.com/mne-tools/mne-python/runs/1831645005#step:12:3081 |
|
Maybe you patched the paintEvent of the wrong widget somehow? |
Maybe. When I inspected the test with |
|
e31de2e works for me locally. Waiting for CIs. The only one I get randomly now is about |
|
Does your pyvistaqt PR fix that? |
|
I'll do diff --git a/mne/viz/backends/_pyvista.py b/mne/viz/backends/_pyvista.py
index 769a479fb..c666d0784 100644
--- a/mne/viz/backends/_pyvista.py
+++ b/mne/viz/backends/_pyvista.py
@@ -73,6 +73,7 @@ class _Figure(object):
self.store['off_screen'] = off_screen
self.store['border'] = False
self.store['auto_update'] = False
+ self.store['update_app_icon'] = False
# multi_samples > 1 is broken on macOS + Intel Iris + volume rendering
self.store['multi_samples'] = 1 if sys.platform == 'darwin' else 4
@@ -88,6 +89,7 @@ class _Figure(object):
self.store.pop('show', None)
self.store.pop('title', None)
self.store.pop('auto_update', None)
+ self.store.pop('update_app_icon', None)
if self.plotter is None:
if self.plotter_class is BackgroundPlotter:UPDATE: I ran |
|
I'll go ahead and merge this to get things green for now, we'll need a release of pyvistaqt anyway if we're going to make that change |
|
It's okay on my end. |
|
Thanks @GuillaumeFavelier ! |
This PR:
%in azure pipelines:##[warning]%25 detected in ##vso command. In March 2021, the agent command parser will be updated to unescape this to %. To opt out of this behavior, set a job level variable DECODE_PERCENTS to false. Setting to true will force this behavior immediately. More information can be found at https://github.com/microsoft/azure-pipelines-agent/blob/master/docs/design/percentEncoding.mdMacOSandLinux