diff options
author | Deepak Bhole <[email protected]> | 2010-11-24 15:22:03 -0500 |
---|---|---|
committer | Deepak Bhole <[email protected]> | 2010-11-24 15:22:03 -0500 |
commit | 8a4ac3f07e3a60a8cf34fbe12b1b05219e865bf0 (patch) | |
tree | 0830d709a86d7ca59abe781bcce93d3ee3f142fb | |
parent | c7a02ae1417fb3330aa12e85b191500815f92b64 (diff) |
Fix PR593: Increment of invalidated iterator in IcedTeaPluginUtils (patch from [email protected])
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | plugin/icedteanp/IcedTeaPluginUtils.cc | 8 |
3 files changed, 16 insertions, 2 deletions
@@ -1,5 +1,14 @@ 2010-11-24 Deepak Bhole <[email protected]> + Fix PR593: Increment of invalidated iterator in IcedTeaPluginUtils (patch + from [email protected]) + * plugin/icedteanp/IcedTeaPluginUtils.cc + (invalidateInstance): Act on the pointer directly, rather than via + members. + * NEWS: Updated. + +2010-11-24 Deepak Bhole <[email protected]> + Fix PR552: Support for FreeBSD's pthread implementation (patch from * plugin/icedteanp/IcedTeaNPPlugin.cc @@ -20,6 +20,7 @@ New in release 1.0 (2010-XX-XX): - PR556: Applet initialization code is prone to race conditions - PR557: Applet opens in a separate window if tab is closed when the applet loads - PR565: UIDefaults.getUI fails with jgoodies:looks 2.3.1 + - PR593: Increment of invalidated iterator in IcedTeaPluginUtils (patch from [email protected]) - Applets are now double-buffered to eliminate flicker in ones that do heavy drawing * NetX - Add a new option -Xclearcache diff --git a/plugin/icedteanp/IcedTeaPluginUtils.cc b/plugin/icedteanp/IcedTeaPluginUtils.cc index 501cd32..69daef2 100644 --- a/plugin/icedteanp/IcedTeaPluginUtils.cc +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc @@ -510,11 +510,15 @@ IcedTeaPluginUtilities::invalidateInstance(NPP instance) std::map<void*,NPP>::iterator iterator; - for (iterator = instance_map->begin(); iterator != instance_map->end(); iterator++) + for (iterator = instance_map->begin(); iterator != instance_map->end(); ) { if ((*iterator).second == instance) { - instance_map->erase((*iterator).first); + instance_map->erase(iterator++); + } + else + { + ++iterator; } } } |