return ID;\r
}\r
\r
-inline wstring getTextFromHTMLDOMNode(IHTMLDOMNode* pHTMLDOMNode, bool allowPreformattedText) {\r
+inline wstring getTextFromHTMLDOMNode(IHTMLDOMNode* pHTMLDOMNode, bool allowPreformattedText, bool isStartOfBlock) {\r
int res=0;\r
IHTMLDOMTextNode* pHTMLDOMTextNode=NULL;\r
LOG_DEBUG(L"Trying to get an IHTMLDOMTextNode interface pointer");\r
}\r
LOG_DEBUG(L"Got data from IHTMLDOMTextNode");\r
wstring s;\r
+ bool notAllWhitespace=false;\r
if(allowPreformattedText) {\r
s.append(data);\r
} else {\r
bool lastNotWhitespace=false;\r
+ bool strippingLeft=isStartOfBlock;\r
for(wchar_t* c=data;*c;++c) {\r
if(!iswspace(*c)) {\r
s+=*c;\r
lastNotWhitespace=TRUE;\r
- } else if(lastNotWhitespace) {\r
+ notAllWhitespace=true;\r
+ strippingLeft=false;\r
+ } else if(lastNotWhitespace||!strippingLeft) {\r
s+=L' ';\r
lastNotWhitespace=FALSE;\r
} \r
}\r
}\r
SysFreeString(data);\r
- return s;\r
+ return notAllWhitespace?s:L"";\r
}\r
\r
#define macro_addHTMLCurrentStyleToNodeAttrs(styleName,attrName,node,currentStyleObj,tempBSTR) {\\r
\r
//Handle text nodes\r
{ \r
- wstring s=getTextFromHTMLDOMNode(pHTMLDOMNode,allowPreformattedText);\r
+ wstring s=getTextFromHTMLDOMNode(pHTMLDOMNode,allowPreformattedText,(parentNode&&parentNode->getIsBlock()&&!previousNode));\r
if(!s.empty()) {\r
LOG_DEBUG(L"Got text from node");\r
VBufStorage_textFieldNode_t* textNode=buffer->addTextFieldNode(parentNode,previousNode,s);\r
- NVDA no longer temporarily freezes or refuses to speak when in the Move to / Copy to dialogs in Windows Live Mail. (#574)\r
- In Outlook 2010, NVDA will now correctly track the focus in the message list. (#1285)\r
- Some USB connection issues have been resolved with the MDV Lilli braille display. (#241)\r
+- In Internet explorer and other MSHTML controls, spaces are no longer ignored in browse mode in certain cases (e.g. after a link).\r
\r
\r
== Changes for Developers ==\r