diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2005-08-29 20:25:22 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2005-08-29 20:25:22 +0000 |
| commit | 8c479b5ea6ececac26cada3d27baab44963ddb47 (patch) | |
| tree | 4ae07a39e3bcc8b9bea4e238c3657389a3e8cf10 | |
| parent | a2effb7c2becc11fac6cb55bff1d9635773c65ee (diff) | |
F2 and F3 (move up/down) would not set the "changed" flag
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4549 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 2 | ||||
| -rw-r--r-- | fluid/Fl_Type.cxx | 14 |
2 files changed, 13 insertions, 3 deletions
@@ -10,7 +10,7 @@ CHANGES IN FLTK 1.1.7 - FLUID now knows if a static callback is already declared in a class and won't declare it 'extern' (STR #776) - Some actions in FLUID would not set the - "changed" flag (STR #984) + "changed" flag (STR #984, STR #999) - fl_filename_list now always appends a forward slash to directory names (STR #874) - Multiline Input will update right if a space character is diff --git a/fluid/Fl_Type.cxx b/fluid/Fl_Type.cxx index fb6db86eb..01d5da7d5 100644 --- a/fluid/Fl_Type.cxx +++ b/fluid/Fl_Type.cxx @@ -733,28 +733,38 @@ void Fl_Type::move_before(Fl_Type* g) { // move selected widgets in their parent's list: void earlier_cb(Fl_Widget*,void*) { Fl_Type *f; + int mod = 0; for (f = Fl_Type::first; f; ) { Fl_Type* nxt = f->next; if (f->selected) { Fl_Type* g; for (g = f->prev; g && g->level > f->level; g = g->prev); - if (g && g->level == f->level && !g->selected) f->move_before(g); + if (g && g->level == f->level && !g->selected) { + f->move_before(g); + mod = 1; + } } f = nxt; } + if (mod) set_modflag(1); } void later_cb(Fl_Widget*,void*) { Fl_Type *f; + int mod = 0; for (f = Fl_Type::last; f; ) { Fl_Type* prv = f->prev; if (f->selected) { Fl_Type* g; for (g = f->next; g && g->level > f->level; g = g->next); - if (g && g->level == f->level && !g->selected) g->move_before(f); + if (g && g->level == f->level && !g->selected) { + g->move_before(f); + mod = 1; + } } f = prv; } + if (mod) set_modflag(1); } //////////////////////////////////////////////////////////////// |
