}\r
\r
int docHandle=(int)hwnd;\r
- int ID=childID;\r
- VBufBackend_t* backend=NULL;\r
+ int ID=(childID>0)?childID:objectID;\r
for(VBufBackendSet_t::iterator i=runningBackends.begin();i!=runningBackends.end();++i) {\r
+ AdobeFlashVBufBackend_t* backend=NULL;\r
HWND rootWindow=(HWND)((*i)->rootDocHandle);\r
- if(rootWindow==hwnd) {\r
- backend=(*i);\r
+ if(rootWindow!=hwnd)\r
+ continue;\r
+ backend=static_cast<AdobeFlashVBufBackend_t*>(*i);\r
+ VBufStorage_controlFieldNode_t* node=backend->getControlFieldNodeWithIdentifier(docHandle,ID);\r
+ if(node)\r
+ backend->invalidateSubtree(node);\r
+ if(!backend->isWindowless) {\r
+ // If this is not windowless, there can only be one backend with this docHandle,\r
+ // so stop searching.\r
+ break;\r
}\r
}\r
- if(!backend) {\r
- return;\r
- }\r
- VBufStorage_controlFieldNode_t* node=backend->getControlFieldNodeWithIdentifier(docHandle,ID);\r
- if(!node) {\r
- return;\r
- }\r
- backend->invalidateSubtree(node);\r
}\r
\r
VBufStorage_fieldNode_t* AdobeFlashVBufBackend_t::renderControlContent(VBufStorage_buffer_t* buffer, VBufStorage_controlFieldNode_t* parentNode, VBufStorage_fieldNode_t* previousNode, int docHandle, int id, IAccessible* pacc) {\r