Fix cursor crash bug (STR #181)

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3113 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Michael R Sweet 2003-11-01 01:07:07 +00:00
parent 84932815df
commit 037fd7bf94
5 changed files with 16 additions and 13 deletions

View File

@ -1,5 +1,8 @@
CHANGES IN FLTK 1.1.5rc1 CHANGES IN FLTK 1.1.5rc1
- Some of the widgets could crash an application if the
cursor was changed after a window was deleted (STR
#181)
- The Fl_Gl_Window WIN32 pixel format code did not - The Fl_Gl_Window WIN32 pixel format code did not
choose the pixel format with the largest depth buffer choose the pixel format with the largest depth buffer
(STR #175) (STR #175)

View File

@ -1,5 +1,5 @@
// //
// "$Id: Fl_Input_.cxx,v 1.21.2.11.2.27 2003/01/30 21:42:00 easysw Exp $" // "$Id: Fl_Input_.cxx,v 1.21.2.11.2.28 2003/11/01 01:07:07 easysw Exp $"
// //
// Common input widget routines for the Fast Light Tool Kit (FLTK). // Common input widget routines for the Fast Light Tool Kit (FLTK).
// //
@ -656,11 +656,11 @@ int Fl_Input_::handletext(int event, int X, int Y, int W, int H) {
switch (event) { switch (event) {
case FL_ENTER: case FL_ENTER:
if (active_r()) window()->cursor(FL_CURSOR_INSERT); if (active_r() && window()) window()->cursor(FL_CURSOR_INSERT);
return 1; return 1;
case FL_LEAVE: case FL_LEAVE:
if (active_r()) window()->cursor(FL_CURSOR_DEFAULT); if (active_r() && window()) window()->cursor(FL_CURSOR_DEFAULT);
return 1; return 1;
case FL_FOCUS: case FL_FOCUS:
@ -852,5 +852,5 @@ Fl_Input_::~Fl_Input_() {
} }
// //
// End of "$Id: Fl_Input_.cxx,v 1.21.2.11.2.27 2003/01/30 21:42:00 easysw Exp $". // End of "$Id: Fl_Input_.cxx,v 1.21.2.11.2.28 2003/11/01 01:07:07 easysw Exp $".
// //

View File

@ -1,5 +1,5 @@
// //
// "$Id: Fl_Text_Display.cxx,v 1.12.2.46 2003/08/24 13:09:06 easysw Exp $" // "$Id: Fl_Text_Display.cxx,v 1.12.2.47 2003/11/01 01:07:07 easysw Exp $"
// //
// Copyright 2001-2003 by Bill Spitzak and others. // Copyright 2001-2003 by Bill Spitzak and others.
// Original code Copyright Mark Edel. Permission to distribute under // Original code Copyright Mark Edel. Permission to distribute under
@ -2978,7 +2978,7 @@ int Fl_Text_Display::handle(int event) {
case FL_LEAVE: case FL_LEAVE:
case FL_HIDE: case FL_HIDE:
if (active_r()) { if (active_r() && window()) {
window()->cursor(FL_CURSOR_DEFAULT); window()->cursor(FL_CURSOR_DEFAULT);
return 1; return 1;
@ -3058,5 +3058,5 @@ int Fl_Text_Display::handle(int event) {
// //
// End of "$Id: Fl_Text_Display.cxx,v 1.12.2.46 2003/08/24 13:09:06 easysw Exp $". // End of "$Id: Fl_Text_Display.cxx,v 1.12.2.47 2003/11/01 01:07:07 easysw Exp $".
// //

View File

@ -1,5 +1,5 @@
// //
// "$Id: Fl_Tile.cxx,v 1.5.2.5.2.4 2003/01/30 21:42:51 easysw Exp $" // "$Id: Fl_Tile.cxx,v 1.5.2.5.2.5 2003/11/01 01:07:07 easysw Exp $"
// //
// Tile widget for the Fast Light Tool Kit (FLTK). // Tile widget for the Fast Light Tool Kit (FLTK).
// //
@ -96,7 +96,7 @@ void Fl_Tile::resize(int X,int Y,int W,int H) {
static void set_cursor(Fl_Tile*t, Fl_Cursor c) { static void set_cursor(Fl_Tile*t, Fl_Cursor c) {
static Fl_Cursor cursor; static Fl_Cursor cursor;
if (cursor == c) return; if (cursor == c || !t->window()) return;
cursor = c; cursor = c;
#ifdef __sgi #ifdef __sgi
t->window()->cursor(c,FL_RED,FL_WHITE); t->window()->cursor(c,FL_RED,FL_WHITE);
@ -196,5 +196,5 @@ int Fl_Tile::handle(int event) {
} }
// //
// End of "$Id: Fl_Tile.cxx,v 1.5.2.5.2.4 2003/01/30 21:42:51 easysw Exp $". // End of "$Id: Fl_Tile.cxx,v 1.5.2.5.2.5 2003/11/01 01:07:07 easysw Exp $".
// //

View File

@ -1,5 +1,5 @@
// //
// "$Id: Fl_Wizard.cxx,v 1.1.2.5 2003/01/30 21:43:00 easysw Exp $" // "$Id: Fl_Wizard.cxx,v 1.1.2.6 2003/11/01 01:07:07 easysw Exp $"
// //
// Fl_Wizard widget routines. // Fl_Wizard widget routines.
// //
@ -199,10 +199,10 @@ Fl_Wizard::value(Fl_Widget *kid)
// This will restore the mouse pointer to the window's default cursor // This will restore the mouse pointer to the window's default cursor
// whenever the wizard pane is changed. Otherwise text widgets that // whenever the wizard pane is changed. Otherwise text widgets that
// show the next pane may leave the cursor set to the I beam, etc... // show the next pane may leave the cursor set to the I beam, etc...
window()->cursor(FL_CURSOR_DEFAULT); if (window()) window()->cursor(FL_CURSOR_DEFAULT);
} }
// //
// End of "$Id: Fl_Wizard.cxx,v 1.1.2.5 2003/01/30 21:43:00 easysw Exp $". // End of "$Id: Fl_Wizard.cxx,v 1.1.2.6 2003/11/01 01:07:07 easysw Exp $".
// //