summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_win32.cxx7
1 files changed, 4 insertions, 3 deletions
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)