summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2005-08-29 20:25:22 +0000
committerMatthias Melcher <fltk@matthiasm.com>2005-08-29 20:25:22 +0000
commit8c479b5ea6ececac26cada3d27baab44963ddb47 (patch)
tree4ae07a39e3bcc8b9bea4e238c3657389a3e8cf10
parenta2effb7c2becc11fac6cb55bff1d9635773c65ee (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--CHANGES2
-rw-r--r--fluid/Fl_Type.cxx14
2 files changed, 13 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 56c2c7f20..50758f185 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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);
}
////////////////////////////////////////////////////////////////