From 78b78b80b947962708a062b00856a6c6f4c00601 Mon Sep 17 00:00:00 2001 From: nathan Date: Sun, 9 Jul 2017 16:02:34 +0200 Subject: [PATCH] Better checking when setting tooltip text --- src/dorkbox/systemTray/nativeUI/_AwtTray.java | 5 ++++- .../systemTray/nativeUI/_GtkStatusIconNativeTray.java | 6 ++++++ src/dorkbox/systemTray/swingUI/_SwingTray.java | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/dorkbox/systemTray/nativeUI/_AwtTray.java b/src/dorkbox/systemTray/nativeUI/_AwtTray.java index 582f2ed..ff7dabb 100644 --- a/src/dorkbox/systemTray/nativeUI/_AwtTray.java +++ b/src/dorkbox/systemTray/nativeUI/_AwtTray.java @@ -49,7 +49,7 @@ class _AwtTray extends Tray implements NativeUI { // is the system tray visible or not. private volatile boolean visible = true; private volatile File imageFile; - private volatile String tooltipText = null; + private volatile String tooltipText = ""; private final Object keepAliveLock = new Object[0]; private Thread keepAliveThread; @@ -212,6 +212,9 @@ class _AwtTray extends Tray implements NativeUI { @Override protected void setTooltip_(final String tooltipText) { + if (this.tooltipText.equals(tooltipText)){ + return; + } this.tooltipText = tooltipText; SwingUtil.invokeLater(new Runnable() { diff --git a/src/dorkbox/systemTray/nativeUI/_GtkStatusIconNativeTray.java b/src/dorkbox/systemTray/nativeUI/_GtkStatusIconNativeTray.java index 8b108ce..44c95eb 100644 --- a/src/dorkbox/systemTray/nativeUI/_GtkStatusIconNativeTray.java +++ b/src/dorkbox/systemTray/nativeUI/_GtkStatusIconNativeTray.java @@ -54,6 +54,7 @@ class _GtkStatusIconNativeTray extends Tray implements NativeUI { // is the system tray visible or not. private volatile boolean visible = true; private volatile File imageFile; + private volatile String tooltipText = ""; private final GtkMenu gtkMenu; @@ -205,6 +206,11 @@ class _GtkStatusIconNativeTray extends Tray implements NativeUI { @Override protected void setTooltip_(final String tooltipText) { + if (this.tooltipText.equals(tooltipText)){ + return; + } + this.tooltipText = tooltipText; + Gtk.dispatch(new Runnable() { @Override public diff --git a/src/dorkbox/systemTray/swingUI/_SwingTray.java b/src/dorkbox/systemTray/swingUI/_SwingTray.java index 56188b8..a9c4c38 100644 --- a/src/dorkbox/systemTray/swingUI/_SwingTray.java +++ b/src/dorkbox/systemTray/swingUI/_SwingTray.java @@ -49,7 +49,7 @@ class _SwingTray extends Tray implements SwingUI { // is the system tray visible or not. private volatile boolean visible = true; private volatile File imageFile; - private volatile String tooltipText = null; + private volatile String tooltipText = ""; // Called in the EDT public @@ -202,6 +202,9 @@ class _SwingTray extends Tray implements SwingUI { @Override protected void setTooltip_(final String tooltipText) { + if (this.tooltipText.equals(tooltipText)){ + return; + } this.tooltipText = tooltipText; SwingUtil.invokeLater(new Runnable() {