diff --git a/source/NVDAObjects/IAccessible/MSHTML.py b/source/NVDAObjects/IAccessible/MSHTML.py
index 634a2d7bf46..a2cb7b443a5 100644
--- a/source/NVDAObjects/IAccessible/MSHTML.py
+++ b/source/NVDAObjects/IAccessible/MSHTML.py
@@ -1139,7 +1139,7 @@ def findExtraIAccessibleOverlayClasses(obj, clsList):
clsList.append(MSAATextLeaf)
return
- if iaRole == oleacc.ROLE_SYSTEM_WINDOW and obj.event_objectID > 0:
+ if iaRole == oleacc.ROLE_SYSTEM_WINDOW and obj.event_objectID is not None and obj.event_objectID > 0:
clsList.append(PluginWindow)
elif iaRole == oleacc.ROLE_SYSTEM_CLIENT and obj.event_objectID == winUser.OBJID_CLIENT:
clsList.append(RootClient)
diff --git a/source/NVDAObjects/IAccessible/adobeAcrobat.py b/source/NVDAObjects/IAccessible/adobeAcrobat.py
index a1563daff82..15acf0eefaa 100644
--- a/source/NVDAObjects/IAccessible/adobeAcrobat.py
+++ b/source/NVDAObjects/IAccessible/adobeAcrobat.py
@@ -39,7 +39,7 @@
}
def normalizeStdName(stdName):
- if "H1" <= stdName <= "H6":
+ if stdName and "H1" <= stdName <= "H6":
return controlTypes.ROLE_HEADING, stdName[1]
try:
@@ -58,9 +58,9 @@ def initOverlayClass(self):
log.debugWarning("Could not get IServiceProvider")
return
- if self.event_objectID > 0:
+ if self.event_objectID is not None and self.event_objectID > 0:
self.accID = self.event_objectID
- elif self.event_childID > 0:
+ elif self.event_childID is not None and self.event_childID > 0:
self.accID = self.event_childID
else:
try:
diff --git a/source/braille.py b/source/braille.py
index c43de84de51..76344b437c5 100644
--- a/source/braille.py
+++ b/source/braille.py
@@ -480,8 +480,11 @@ def getBrailleTextForProperties(**propertyValues):
cellCoordsText=propertyValues.get('cellCoordsText')
rowNumber = propertyValues.get("rowNumber")
columnNumber = propertyValues.get("columnNumber")
- rowSpan = propertyValues.get("rowSpan")
- columnSpan = propertyValues.get("columnSpan")
+ # When fetching row and column span
+ # default the values to 1 to make further checks a lot simpler.
+ # After all, a table cell that has no rowspan implemented is assumed to span one row.
+ rowSpan = propertyValues.get("rowSpan") or 1
+ columnSpan = propertyValues.get("columnSpan") or 1
includeTableCellCoords = propertyValues.get("includeTableCellCoords", True)
if role is not None and not roleText:
if role == controlTypes.ROLE_HEADING and level:
diff --git a/source/virtualBuffers/adobeFlash.py b/source/virtualBuffers/adobeFlash.py
index a7f6c58bac4..91ec5b68a48 100644
--- a/source/virtualBuffers/adobeFlash.py
+++ b/source/virtualBuffers/adobeFlash.py
@@ -36,7 +36,7 @@ class AdobeFlash(VirtualBuffer):
def __init__(self,rootNVDAObject):
super(AdobeFlash,self).__init__(rootNVDAObject,backendName="adobeFlash")
- self.isWindowless = rootNVDAObject.event_objectID > 0
+ self.isWindowless = rootNVDAObject.event_objectID is not None and rootNVDAObject.event_objectID > 0
def __contains__(self,obj):
if self.isWindowless: