Jacek Caban jacek@codeweavers.com wrote:
In this case, it seems to me that we'd want to initialize the entry when it becomes accessible, not necessarily on allocation.
I'm not sure I understand what you mean by entry being made accessible, could you please clarify? As far I can see from the ieframe code inspection IWebBrowser::GoForward()/IWebBrowser::GoBack() directly call helpers that rely on log entries being already intialized, and the only place where a log entry gets intialized is dochost.c,update_travellog().
I mean to initialize it when we start considering the new entry to be valid. It seems that in this case, it's loading_pos == -1 handling in update_travellog. We may initialize just the new entry there.
Thank you very much for the detailed analysis, initializing history log entry in the loading_pos == -1 case also does fix the crash. I sent new version of the patch.