summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2006-08-21 15:03:02 +0000
committerMatthias Melcher <fltk@matthiasm.com>2006-08-21 15:03:02 +0000
commit555f7760777fccfa56763d7c45a0378bba01d2e4 (patch)
tree74883b07acba5280058d7409b512978736a07306
parentddfe7bb5b62632fd96adbb241b4b4eb096fe5920 (diff)
Fixed uninitialized data in OS X and WIN32 timout functions (STR #1374).
Fixed silly but in preferences test (that was unrelated to Fl_Preferences). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CHANGES4
-rw-r--r--src/Fl_win32.cxx7
-rw-r--r--test/preferences.fl4
3 files changed, 8 insertions, 7 deletions
diff --git a/CHANGES b/CHANGES
index 3cd5bab14..9b8db58ee 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,7 @@
CHANGES IN FLTK 1.1.8
- - Fixed uninitialized data in OS X timout function
- (STR #1374).
+ - Fixed uninitialized data in OS X and WIN32
+ timout functions (STR #1374).
- Fixed speed issues when measuring text on OS X
with Quartz (STR #1386).
- Fixed focus issues on OS X (STR #1377)
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 3f6e3a052..7b615dbc2 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -639,12 +639,13 @@ static void realloc_timers()
if (win32_timer_alloc == 0) {
win32_timer_alloc = 8;
}
- Win32Timer* new_timers = new Win32Timer[win32_timer_alloc * 2];
- memmove(new_timers, win32_timers, sizeof(Win32Timer) * win32_timer_used);
+ win32_timer_alloc *= 2;
+ Win32Timer* new_timers = new Win32Timer[win32_timer_alloc];
+ memset(new_timers, 0, sizeof(Win32Timer) * win32_timer_used);
+ memcpy(new_timers, win32_timers, sizeof(Win32Timer) * win32_timer_used);
Win32Timer* delete_me = win32_timers;
win32_timers = new_timers;
delete [] delete_me;
- win32_timer_alloc *= 2;
}
static void delete_timer(Win32Timer& t)
diff --git a/test/preferences.fl b/test/preferences.fl
index c8c4698a6..306b880ad 100644
--- a/test/preferences.fl
+++ b/test/preferences.fl
@@ -22,13 +22,13 @@ decl {void writePrefs();} {public
Function {closeWindowCB( Fl_Widget*, void* )} {open private return_type void
} {
- code {delete myWindow;} {}
+ code {Fl::delete_widget(myWindow);} {}
}
Function {saveAndCloseWindowCB( Fl_Widget*, void* )} {open private return_type void
} {
code {writePrefs();
- delete myWindow;} {}
+ Fl::delete_widget(myWindow);} {}
}
Function {} {open return_type int