Title: [104213] branches/safari-534.54-branch/Source/WebKit2
Revision
104213
Author
[email protected]
Date
2012-01-05 13:58:07 -0800 (Thu, 05 Jan 2012)

Log Message

Merged r98186.

Modified Paths

Diff

Modified: branches/safari-534.54-branch/Source/WebKit2/ChangeLog (104212 => 104213)


--- branches/safari-534.54-branch/Source/WebKit2/ChangeLog	2012-01-05 21:56:26 UTC (rev 104212)
+++ branches/safari-534.54-branch/Source/WebKit2/ChangeLog	2012-01-05 21:58:07 UTC (rev 104213)
@@ -1,3 +1,21 @@
+2011-1-5  Lucas Forschler  <[email protected]>
+
+    Merge 98186
+
+    2011-10-21  Sam Weinig  <[email protected]>
+
+            Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup>
+            https://bugs.webkit.org/show_bug.cgi?id=70667
+            <rdar://problem/9622186>
+
+            Reviewed by Anders Carlsson.
+
+            * Shared/DictionaryPopupInfo.cpp:
+            (WebKit::DictionaryPopupInfo::encode):
+            (WebKit::DictionaryPopupInfo::decode):
+            Account for the fact that the options dictionary can be null. This is due to Lookup passing
+            back a null, rather than empty, dictionary when it could not find any interesting characteristics.
+
 2011-1-4  Lucas Forschler  <[email protected]>
 
     Merge 95747

Modified: branches/safari-534.54-branch/Source/WebKit2/Shared/DictionaryPopupInfo.cpp (104212 => 104213)


--- branches/safari-534.54-branch/Source/WebKit2/Shared/DictionaryPopupInfo.cpp	2012-01-05 21:56:26 UTC (rev 104212)
+++ branches/safari-534.54-branch/Source/WebKit2/Shared/DictionaryPopupInfo.cpp	2012-01-05 21:58:07 UTC (rev 104213)
@@ -41,7 +41,10 @@
     encoder->encodeEnum(type);
 
 #if PLATFORM(MAC) && !defined(BUILDING_ON_SNOW_LEOPARD)
-    CoreIPC::encode(encoder, options.get());
+    bool hadOptions = options;
+    encoder->encodeBool(hadOptions);
+    if (hadOptions)
+        CoreIPC::encode(encoder, options.get());
 #endif
 }
 
@@ -54,8 +57,13 @@
     if (!decoder->decodeEnum(result.type))
         return false;
 #if PLATFORM(MAC) && !defined(BUILDING_ON_SNOW_LEOPARD)
-    if (!CoreIPC::decode(decoder, result.options))
+    bool hadOptions;
+    if (!decoder->decodeBool(hadOptions))
         return false;
+    if (hadOptions) {
+        if (!CoreIPC::decode(decoder, result.options))
+            return false;
+    }
 #endif
     return true;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to