Jacek Caban : ieframe: Allow travellog buffer to grow even if we' re loading from the history.
Module: wine Branch: master Commit: 5f2d2c146c27d4ee98fe1b00a03d50220bc48f10 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5f2d2c146c27d4ee98fe1b00a0... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Mon Jul 20 14:01:13 2015 +0200 ieframe: Allow travellog buffer to grow even if we're loading from the history. Spotted by Marcus Meissner. --- dlls/ieframe/dochost.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/dlls/ieframe/dochost.c b/dlls/ieframe/dochost.c index c76e91c..b0d713b 100644 --- a/dlls/ieframe/dochost.c +++ b/dlls/ieframe/dochost.c @@ -395,25 +395,25 @@ static void update_travellog(DocHost *This) { travellog_entry_t *new_entry; - if(This->travellog.loading_pos == -1) { - /* Clear forward history. */ - if(!This->travellog.log) { - This->travellog.log = heap_alloc(4 * sizeof(*This->travellog.log)); - if(!This->travellog.log) - return; + if(!This->travellog.log) { + This->travellog.log = heap_alloc(4 * sizeof(*This->travellog.log)); + if(!This->travellog.log) + return; - This->travellog.size = 4; - }else if(This->travellog.size < This->travellog.position+1) { - travellog_entry_t *new_travellog; + This->travellog.size = 4; + }else if(This->travellog.size < This->travellog.position+1) { + travellog_entry_t *new_travellog; - new_travellog = heap_realloc(This->travellog.log, This->travellog.size*2*sizeof(*This->travellog.log)); - if(!new_travellog) - return; + new_travellog = heap_realloc(This->travellog.log, This->travellog.size*2*sizeof(*This->travellog.log)); + if(!new_travellog) + return; - This->travellog.log = new_travellog; - This->travellog.size *= 2; - } + This->travellog.log = new_travellog; + This->travellog.size *= 2; + } + if(This->travellog.loading_pos == -1) { + /* Clear forward history. */ while(This->travellog.length > This->travellog.position) free_travellog_entry(This->travellog.log + --This->travellog.length); }
participants (1)
-
Alexandre Julliard