From 5eeb17a59120a1074c8dc4dc1e785bf004e525c2 Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Wed, 17 Sep 2014 06:07:39 -0400
Subject: [PATCH] *refined when the reflecttitle is being invoked

---
 pd/src/g_canvas.c |  2 +-
 pd/src/g_editor.c | 27 +++++++++++++++------------
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c
index 7eb344224..ebeb733f4 100644
--- a/pd/src/g_canvas.c
+++ b/pd/src/g_canvas.c
@@ -690,7 +690,7 @@ void canvas_dirty(t_canvas *x, t_floatarg n)
     if ((unsigned)n != x2->gl_dirty)
     {
         x2->gl_dirty = n;
-        if (glist_isvisible(x2))
+        if (x2->gl_havewindow) // was glist_isvisible(x2)
             canvas_reflecttitle(x2);
     }
 }
diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 83b57af55..d2c3217dc 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -2182,19 +2182,22 @@ static char *cursorlist[] = {
 
 void canvas_setcursor(t_canvas *x, unsigned int cursornum)
 {
-    //fprintf(stderr,"canvas_setcursor %d\n", cursornum);
-    static t_canvas *xwas;
-    static unsigned int cursorwas;
-    if (cursornum >= sizeof(cursorlist)/sizeof *cursorlist)
-    {
-    bug("canvas_setcursor");
-        return;
-    }
-    if (xwas != x || cursorwas != cursornum)
+    if (x->gl_havewindow)
     {
-        sys_vgui(".x%lx configure -cursor %s\n", x, cursorlist[cursornum]);
-        xwas = x;
-        cursorwas = cursornum;
+        //fprintf(stderr,"canvas_setcursor %d\n", cursornum);
+        static t_canvas *xwas;
+        static unsigned int cursorwas;
+        if (cursornum >= sizeof(cursorlist)/sizeof *cursorlist)
+        {
+        bug("canvas_setcursor");
+            return;
+        }
+        if (xwas != x || cursorwas != cursornum)
+        {
+            sys_vgui(".x%lx configure -cursor %s\n", x, cursorlist[cursornum]);
+            xwas = x;
+            cursorwas = cursornum;
+        }
     }
 }
 
-- 
GitLab