summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwolfsuit <wolfsuit>2004-07-15 05:27:59 (GMT)
committerwolfsuit <wolfsuit>2004-07-15 05:27:59 (GMT)
commit540a0021c6a22c0e7dc3792a4811d9c497775e9b (patch)
tree38b356331af27c0560d8a5c020a2aed272d9ca1d
parent5c0c77a23967d1959e8f5ec7e21695cf0f3d4b6c (diff)
downloadtk-540a0021c6a22c0e7dc3792a4811d9c497775e9b.zip
tk-540a0021c6a22c0e7dc3792a4811d9c497775e9b.tar.gz
tk-540a0021c6a22c0e7dc3792a4811d9c497775e9b.tar.bz2
2004-07-14 Jim Ingham <jingham@apple.com>
* macosx/tkMacOSXCursor.c (TkpSetCursor): The code to not reset the cursor more often than necessary was getting fooled when the current cursor was nulled out when the current cursor gets freed. So in the case where the input cursor was NULL, we have to just always set it. [Bug #894550]
-rw-r--r--ChangeLog8
-rw-r--r--macosx/tkMacOSXCursor.c13
2 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b3193bf..1e14d25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-07-14 Jim Ingham <jingham@apple.com>
+
+ * macosx/tkMacOSXCursor.c (TkpSetCursor): The code to not
+ reset the cursor more often than necessary was getting fooled
+ when the current cursor was nulled out when the current cursor
+ gets freed. So in the case where the input cursor was NULL, we
+ have to just always set it. [Bug #894550]
+
2004-07-13 Don Porter <dgp@users.sourceforge.net>
* library/tkfbox.tcl: Corrected coding errors in most recent change.
diff --git a/macosx/tkMacOSXCursor.c b/macosx/tkMacOSXCursor.c
index 8e72897..31dd4b8 100644
--- a/macosx/tkMacOSXCursor.c
+++ b/macosx/tkMacOSXCursor.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMacOSXCursor.c,v 1.4 2003/02/11 07:26:18 wolfsuit Exp $
+ * RCS: @(#) $Id: tkMacOSXCursor.c,v 1.5 2004/07/15 05:27:59 wolfsuit Exp $
*/
#include "tkPort.h"
@@ -431,9 +431,14 @@ TkpSetCursor(
}
if (cursor == None) {
- if (gCurrentCursor == NULL) {
- cursorChanged = 0;
- }
+ /*
+ * This is a little tricky. We can't really tell whether
+ * gCurrentCursor is NULL because it was NULL last time around
+ * or because we just freed the current cursor. So if the input
+ * cursor is NULL, we always need to reset it, we can't trust the
+ * cursorChanged logic.
+ */
+
gCurrentCursor = NULL;
} else {
if (gCurrentCursor == (TkMacOSXCursor *) cursor) {