From 0f585584478099f642a8c09db442ae00d292ca2a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 10 Mar 2021 16:49:00 -0500 Subject: [PATCH] Backport PR #19671: Fix crash in early window raise in gtk3. --- lib/matplotlib/backends/backend_gtk3.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 246cab755490..1dbf5d93a929 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -392,7 +392,14 @@ def show(self): self.window.show() self.canvas.draw() if mpl.rcParams['figure.raise_window']: - self.window.present() + if self.window.get_window(): + self.window.present() + else: + # If this is called by a callback early during init, + # self.window (a GtkWindow) may not have an associated + # low-level GdkWindow (self.window.get_window()) yet, and + # present() would crash. + _api.warn_external("Cannot raise window yet to be setup") def full_screen_toggle(self): self._full_screen_flag = not self._full_screen_flag