[webkit-dev] Fix for Qt build
Holger Freyther
zecke at selfish.org
Sat May 12 07:59:05 PDT 2007
Am 12.05.2007 um 13:28 schrieb Holger Freyther:
>
> Am 12.05.2007 um 12:32 schrieb Maciej Stachowiak:
>
>>
>> I can't check this in right now because the SVN server is
>> temporarily out of disk, but this appears to mostly fix the Qt
>> build, at least in QtLauncher. Rob Buis helped me test and is
>> running layout tests now.
>
Okay,
the difference between Mac and Gdk is in
FrameLoaderClient::canCachePage. If canCachePage returns false, clear
() will be called which sets m_frame->d->m_doc->m_ptr to 0. And on
load setEncoding comes after calling saveDocumentState. So there is
no way to restore/has a valid document.
I don't know how to fix it, but at least this explains why it crashes
on Gdk and not on Mac. I think we should review codepath's ending in
a clear().
void FrameLoader::provisionalLoadStarted()
{
m_firstLayoutDone = false;
cancelRedirection(true);
m_client->provisionalLoadStarted();
if (canCachePage()) {
if (m_client->canCachePage()) {
if (!m_currentHistoryItem->cachedPage()) {
cachePageToHistoryItem(m_currentHistoryItem.get());
purgePageCache();
}
} else {
// Put the document into a null state, so it can be
restored correctly.·
clear();
}
}
}
PS: Now I can finally return to my text book
More information about the webkit-dev
mailing list