From 5856b3b9be9afa2900f884051dde34596ae3800e Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 21 Aug 2005 21:55:22 +0000 Subject: Some actions in FLUID would not set the "changed" flag. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4529 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 2 ++ fluid/Fl_Function_Type.cxx | 41 ++++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/CHANGES b/CHANGES index a9feda9da..f9182856c 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,8 @@ CHANGES IN FLTK 1.1.7 - Documentation fixes (STR #571, STR #648, STR #692, STR #730, STR #744, STR #745, STR #931, STR #942, STR #960, STR #969) + - Some actions in FLUID would not set the + "changed" flag (STR #984) - 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_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index 539fb9b09..379b147bd 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -184,14 +184,16 @@ void Fl_Function_Type::open() { int mod = 0; c = f_return_type_input->value(); message = c_check(c); if (message) continue; - if (name() && strcmp(f_name_input->value(), name())) mod = 1; name(f_name_input->value()); - if (return_type && strcmp(return_type, c)) mod = 1; storestring(c, return_type); - if (public_ != f_public_button->value()) mod = 1; - public_ = f_public_button->value(); - if (cdecl_ != f_c_button->value()) mod = 1; - cdecl_ = f_c_button->value(); + if (public_ != f_public_button->value()) { + mod = 1; + public_ = f_public_button->value(); + } + if (cdecl_ != f_c_button->value()) { + mod = 1; + cdecl_ = f_c_button->value(); + } if (mod) set_modflag(1); break; } @@ -525,7 +527,10 @@ void Fl_Decl_Type::open() { message = c_check(c&&c[0]=='#' ? c+1 : c); if (message) continue; name(c); - public_ = decl_public_button->value(); + if (public_!=decl_public_button->value()) { + set_modflag(1); + public_ = decl_public_button->value(); + } break; } BREAK2: @@ -628,7 +633,10 @@ void Fl_DeclBlock_Type::open() { message = c_check(c&&c[0]=='#' ? c+1 : c); if (message) continue; storestring(c,after); - public_ = declblock_public_button->value(); + if (public_ != declblock_public_button->value()) { + set_modflag(1); + public_ = declblock_public_button->value(); + } break; } BREAK2: @@ -804,8 +812,16 @@ void Fl_Comment_Type::open() { char*c = comment_input->buffer()->text(); name(c); free(c); - in_c_ = comment_in_source->value(); - in_h_ = comment_in_header->value(); + int mod = 0; + if (in_c_ != comment_in_source->value()) { + in_c_ = comment_in_source->value(); + mod = 1; + } + if (in_h_ != comment_in_header->value()) { + in_h_ = comment_in_header->value(); + mod = 1; + } + if (mod) set_modflag(1); break; } BREAK2: @@ -967,7 +983,10 @@ void Fl_Class_Type::open() { prefix(pr); free((void*)s); storestring(c, subclass_of); - public_ = c_public_button->value(); + if (public_ != c_public_button->value()) { + public_ = c_public_button->value(); + set_modflag(1); + } break; } BREAK2: -- cgit v1.2.3