UNSOLVED Prepolator: various tracebacks



  • 1. Closing Font Preview triggers traceback
    Steps to reproduce:
    • Open two UFO files in RF3.4
    • Start Prepolator
    • Prepolator window: click "Add Open" icon
    • Prepolator window: click "Font Preview" icon
    • Font Preview popup: click OK button

    Traceback (most recent call last):
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defconAppKit/controls/glyphCollectionView.py", line 12, in viewDidMoveToWindow
        wrapper.setPosSize(wrapper.getPosSize())
    AttributeError: 'NoneType' object has no attribute 'setPosSize'
    


  • Okay, that's all for now. Apologies for the long posts! ;)



  • 3. Changing start point when multiple items are selected triggers traceback
    Steps to reproduce:
    • Open two UFO files in RF3.4
    • Start Prepolator
    • Prepolator window: click "Add Open" icon
    • Prepolator window: select a glyph
    • Prepolator window: select an outline
    • Hit cmd-A ("Select All")
    • Prepolator window: click "Next" or "Previous" icon

    Traceback (most recent call last):
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 824, in startPointNext
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/contour.py", line 223, in setStartPoint
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/glyph.py", line 1299, in _contourChanged
        self.postNotification(notification="Glyph.ContoursChanged")
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/component.py", line 382, in baseGlyphDataChangedNotificationCallback
        self.postNotification("Component.BaseGlyphDataChanged")
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/glyph.py", line 1308, in _componentBaseGlyphDataChanged
        self.postNotification(notification=self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/layer.py", line 689, in _glyphDirtyStateChange
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/layerSet.py", line 353, in _layerDirtyStateChange
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/font.py", line 1139, in _objectDirtyStateChange
        self.dirty = True
      File "lib/fontObjects/doodleFont.pyc", line 70, in _set_dirty
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 1010, in _fontChanged
    AttributeError: 'NoneType' object has no attribute 'setDocumentEdited_'
    Traceback (most recent call last):
      File "lib/doodleDelegate.pyc", line 96, in sendEvent_
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 824, in startPointNext
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/contour.py", line 223, in setStartPoint
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/glyph.py", line 1299, in _contourChanged
        self.postNotification(notification="Glyph.ContoursChanged")
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/component.py", line 382, in baseGlyphDataChangedNotificationCallback
        self.postNotification("Component.BaseGlyphDataChanged")
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/glyph.py", line 1308, in _componentBaseGlyphDataChanged
        self.postNotification(notification=self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/layer.py", line 689, in _glyphDirtyStateChange
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/layerSet.py", line 353, in _layerDirtyStateChange
        self.dirty = True
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/font.py", line 1139, in _objectDirtyStateChange
        self.dirty = True
      File "lib/fontObjects/doodleFont.pyc", line 70, in _set_dirty
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 388, in _set_dirty
        self.postNotification(self.changeNotificationName)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 219, in postNotification
        dispatcher.postNotification(notification=notification, observable=self, data=data)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 201, in postNotification
        callback(notificationObj)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 1010, in _fontChanged
    AttributeError: 'NoneType' object has no attribute 'setDocumentEdited_'
    


  • 2. Unable to add open UFO file again after removing it
    Steps to reproduce:
    • Open two UFO files in RF3.4
    • Start Prepolator
    • Prepolator window: click "Add Open" icon
    • Prepolator window: select one of the masters
    • Prepolator window: click "Remove" icon
    • Prepolator window: click "Add Open" icon

    Traceback (most recent call last):
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 688, in addOpenFonts
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 490, in getFontItem
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 981, in subscribeFont
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 101, in addObserver
        notification=notification, observable=self)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 82, in addObserver
        notification=key[0], observable=key[1](), observer=observer(), method1=self._registry[key][observer], method2=methodName
    AssertionError: An observer is only allowed to have one callback for a given notification + observable combination. notification=Font.Changed, observable=<lib.fontObjects.doodleFont.DoodleFont object at 0x115f46190> , observer=<prepolLib.interface.windows.main.PrepolController object at 0x11e96eb50>, existing method=_fontChanged, adding method=_fontChanged
    Traceback (most recent call last):
      File "lib/doodleDelegate.pyc", line 96, in sendEvent_
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 688, in addOpenFonts
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 490, in getFontItem
      File "/var/folders/qy/sv345q756dg_jsx6jg2tf6240000gn/T/tmp2qze3rbh/lib.3.7/prepolLib/interface/windows/main.py", line 981, in subscribeFont
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/objects/base.py", line 101, in addObserver
        notification=notification, observable=self)
      File "/Applications/RoboFont-3.app/Contents/Resources/lib/python3.7/defcon/tools/notifications.py", line 82, in addObserver
        notification=key[0], observable=key[1](), observer=observer(), method1=self._registry[key][observer], method2=methodName
    AssertionError: An observer is only allowed to have one callback for a given notification + observable combination. notification=Font.Changed, observable=<lib.fontObjects.doodleFont.DoodleFont object at 0x115f46190> , observer=<prepolLib.interface.windows.main.PrepolController object at 0x11e96eb50>, existing method=_fontChanged, adding method=_fontChanged
    

Log in to reply