diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2007-02-02 13:52:37 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2007-02-02 13:52:37 +0000 |
| commit | 3df9bdf5c5919d99d054aba61319d4672d5da311 (patch) | |
| tree | 8db3bff14c1a4860066cbd89e153152293c72884 /src/fl_cursor.cxx | |
| parent | 6bc5329935e352e222383f94512eb490b781dbac (diff) | |
Avoiding a hidden mouse pointer after a window is hidden
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5654 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_cursor.cxx')
| -rw-r--r-- | src/fl_cursor.cxx | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/fl_cursor.cxx b/src/fl_cursor.cxx index ae60787ce..fb0d33b3e 100644 --- a/src/fl_cursor.cxx +++ b/src/fl_cursor.cxx @@ -202,36 +202,38 @@ static Cursor crsrARROW = #undef E void Fl_Window::cursor(Fl_Cursor c, Fl_Color, Fl_Color) { - if (!shown()) return; if (c == FL_CURSOR_DEFAULT) { c = cursor_default; } + CursHandle icrsr = fl_default_cursor; switch (c) { - case FL_CURSOR_CROSS: i->cursor = GetCursor( crossCursor ); break; - case FL_CURSOR_WAIT: i->cursor = GetCursor( watchCursor ); break; - case FL_CURSOR_INSERT: i->cursor = GetCursor( iBeamCursor ); break; + case FL_CURSOR_CROSS: icrsr = GetCursor( crossCursor ); break; + case FL_CURSOR_WAIT: icrsr = GetCursor( watchCursor ); break; + case FL_CURSOR_INSERT: icrsr = GetCursor( iBeamCursor ); break; case FL_CURSOR_N: case FL_CURSOR_S: - case FL_CURSOR_NS: i->cursor = &crsrNSptr; break; - case FL_CURSOR_HELP: i->cursor = &crsrHELPptr; break; - case FL_CURSOR_HAND: i->cursor = &crsrHANDptr; break; - case FL_CURSOR_MOVE: i->cursor = &crsrMOVEptr; break; + case FL_CURSOR_NS: icrsr = &crsrNSptr; break; + case FL_CURSOR_HELP: icrsr = &crsrHELPptr; break; + case FL_CURSOR_HAND: icrsr = &crsrHANDptr; break; + case FL_CURSOR_MOVE: icrsr = &crsrMOVEptr; break; case FL_CURSOR_NE: case FL_CURSOR_SW: - case FL_CURSOR_NESW: i->cursor = &crsrNESWptr; break; + case FL_CURSOR_NESW: icrsr = &crsrNESWptr; break; case FL_CURSOR_E: case FL_CURSOR_W: - case FL_CURSOR_WE: i->cursor = &crsrWEptr; break; + case FL_CURSOR_WE: icrsr = &crsrWEptr; break; case FL_CURSOR_SE: case FL_CURSOR_NW: - case FL_CURSOR_NWSE: i->cursor = &crsrNWSEptr; break; - case FL_CURSOR_NONE: i->cursor = &crsrNONEptr; break; - case FL_CURSOR_ARROW: i->cursor = &crsrARROWptr; break; + case FL_CURSOR_NWSE: icrsr = &crsrNWSEptr; break; + case FL_CURSOR_NONE: icrsr = &crsrNONEptr; break; + case FL_CURSOR_ARROW: icrsr = &crsrARROWptr; break; case FL_CURSOR_DEFAULT: - default: - i->cursor = fl_default_cursor; break; + default: break; + } + SetCursor( *icrsr ); + if (i) { + i->cursor = icrsr; } - SetCursor( *i->cursor ); } #else |
