From edb58683d1caeb9aa01dac40a720472b7b24ccff Mon Sep 17 00:00:00 2001 From: cknd Date: Tue, 23 May 2017 15:05:47 +0200 Subject: [PATCH 1/2] keep the old buffer so we can return something when get_diff_image is called while self._png_is_old --- lib/matplotlib/backends/backend_webagg_core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index 37ce69c59103..618a0623a4b4 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -236,8 +236,8 @@ def get_diff_image(self): self._last_renderer, renderer) self._force_full = False self._png_is_old = False - - return buff + self.buff = buff + return self.buff def get_renderer(self, cleared=None): # Mirrors super.get_renderer, but caches the old one From f38575e3ac01667458999b8c2b08acd6bcc7d379 Mon Sep 17 00:00:00 2001 From: cknd Date: Tue, 23 May 2017 16:27:20 +0200 Subject: [PATCH 2/2] let get_diff_image return None and deal with it downstream --- lib/matplotlib/backends/backend_webagg_core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/backends/backend_webagg_core.py b/lib/matplotlib/backends/backend_webagg_core.py index 618a0623a4b4..4c1b0a0f57cd 100644 --- a/lib/matplotlib/backends/backend_webagg_core.py +++ b/lib/matplotlib/backends/backend_webagg_core.py @@ -236,8 +236,7 @@ def get_diff_image(self): self._last_renderer, renderer) self._force_full = False self._png_is_old = False - self.buff = buff - return self.buff + return buff def get_renderer(self, cleared=None): # Mirrors super.get_renderer, but caches the old one @@ -487,8 +486,9 @@ def handle_json(self, content): def refresh_all(self): if self.web_sockets: diff = self.canvas.get_diff_image() - for s in self.web_sockets: - s.send_binary(diff) + if diff is not None: + for s in self.web_sockets: + s.send_binary(diff) @classmethod def get_javascript(cls, stream=None):