Reviewers: mdempsky,
Description:
Chrome plugin: don't use an iterator after the underlying entry has been
freed.
Rebuilt Windows DLL and created a release.
(This patch might help on Linux and Mac as well, but for safety I'm not
updating them yet.)
Please review this at http://gwt-code-reviews.appspot.com/1861803/
Affected files:
M plugins/npapi/LocalObjectTable.h
M plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
Index: plugins/npapi/LocalObjectTable.h
===================================================================
--- plugins/npapi/LocalObjectTable.h (revision 11357)
+++ plugins/npapi/LocalObjectTable.h (working copy)
@@ -124,9 +124,9 @@
Debug::log(Debug::Debugging) << "removing expando!" << Debug::flush;
NPN_RemoveProperty(npp, it->second, gwtId);
}
- setFree(id);
+ NPObject* obj = it->second;
+ setFree(id); // erases entry, invalidating iterator
if (!dontFree) {
- NPObject* obj = it->second;
NPN_ReleaseObject(obj);
}
}
Index: plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
===================================================================
--- plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (revision 11357)
+++ plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (working copy)
@@ -1,6 +1,6 @@
{
"name": "GWT Developer Plugin",
- "version": "1.0.11349",
+ "version": "1.0.11357",
"manifest_version": 2,
"description": "A plugin to enable debugging with GWT's Development
Mode",
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors