I've tried this with all versions of VW listed above up to and including the current pre-release of vw7.10:
Version Id: #[72 52 74 192 70 32 0 0 72 52 74 192] but I can't get CairoGraphics to work (loaded from the Parcel included with VW in each case). Attached is a simple "app" that should draw a line but I get the walkback below. I'm pretty new to Cairo...maybe this is an external library problem? My VisualWorks app bundle includes: shaffer@bigmac Contents $ ls -l Frameworks total 9288 -r-xr-xr-x 1 shaffer staff 2674472 May 29 13:59 libcairo.2.dylib -r-xr-xr-x 1 shaffer staff 1462688 May 29 13:59 libpixman-1.0.dylib -r-xr-xr-x 1 shaffer staff 612816 May 29 13:59 libpng15.0.dylib Am I missing something here? David Unhandled exception: Message not understood: #nsBitmap ObjectiveCRuntime2(Object)>>doesNotUnderstand: ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>object:perform:withArguments: ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>object:perform: optimized [] in CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: BlockClosure>>ensure: optimized [] in AbstractObjectiveCRuntime>>autoreleaseWhile: BlockClosure>>ensure: optimized [] in RecursionLock>>critical: BlockClosure>>ensure: Semaphore>>critical: RecursionLock>>critical: ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>autoreleaseWhile: CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: CairoGraphics.QuartzSurface class>>window: ScheduledWindow(Window)>>cairoSurface ScheduledWindow(DisplaySurface)>>newCairoSurfaceWhile: ScreenGraphicsContext>>newCairoContextWhile: SimpleCairoView>>displayOn: BorderedWrapper>>displayOn: SpecWrapper(Wrapper)>>displayOn: SpecWrapper(WidgetWrapper)>>displayOn: CompositePart>>displayOn: WindowDisplayPolicy>>displayDamageList:in: ScheduledWindow>>displayDamageEvent: ScheduledWindow(Window)>>displayPendingInvalidation SimpleApp(ApplicationModel)>>openInterface:withPolicy:inSession: SimpleApp(ApplicationModel)>>openInterface:withPolicy: SimpleApp(ApplicationModel)>>openInterface: SimpleApp class(ApplicationModel class)>>openOn:withSpec: UIPainterController>>doOpen UIPainterTool>>doOpen optimized [] in ApplicationModel>>actionFor: optimized [] in ToolBar>>newButtonModelFor: optimized [] in ToolBar>>newButtonModelFor: PluggableAdaptor>>setValue: PluggableAdaptor(ValueModel)>>value: TriggerButtonController>>pressAction TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: TriggerButtonTracker>>finishSelectionFor: TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: RedButtonReleasedEvent>>dispatchTo: TriggerButtonTracker(SelectionTracker)>>handleEvent: EventDispatcher>>dispatch:to: EventDispatcher>>dispatchEvent: RedButtonReleasedEvent(Event)>>dispatch RedButtonReleasedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- ObjectiveCRuntime2(Object)>>doesNotUnderstand: Receiver: an ObjectiveCRuntime2 Instance Variables: typeEncoder = an ObjectiveCRuntimeTypeEncoder autoreleaseLock = a RecursionLock autoreleaseActive = true Arguments: aMessage = a MessageSend with receiver: an ObjectiveCRuntime2, selector: #nsBitmap and arguments: #() Temporaries: excpt = a MessageNotUnderstood resumeValue = nil Context PC = 25 ---------------------------------------------------------------------- ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>object:perform:withArguments: Receiver: an ObjectiveCRuntime2 Instance Variables: typeEncoder = an ObjectiveCRuntimeTypeEncoder autoreleaseLock = a RecursionLock autoreleaseActive = true Arguments: anObject = a CCompositePointer {003F3150} (id) aSymbol = #nsBitmap arguments = an Array[0] Temporaries: selector = a CCompositePointer {02481430} (SEL) method = a CCompositePointer {invalid} (Method) procedure = nil Context PC = 30 ---------------------------------------------------------------------- ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>object:perform: Receiver: an ObjectiveCRuntime2 Instance Variables: typeEncoder = an ObjectiveCRuntimeTypeEncoder autoreleaseLock = a RecursionLock autoreleaseActive = true Arguments: anObject = a CCompositePointer {003F3150} (id) aSymbol = #nsBitmap Context PC = 7 ---------------------------------------------------------------------- optimized [] in CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: Receiver: an UndefinedObject Temporaries: .anObjectiveCSTRasterSurface = a CCompositePointer {003F3150} (id) cgContextRefPointer = nil nsBitmap = nil nsGraphicsContext = nil .self = a CairoGraphics.QuartzSurface Context PC = 7 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: outerContext = nil copiedValues = an Array[3] Arguments: aBlock = BlockClosure [] in [] in AbstractObjectiveCRuntime>>autoreleaseWhile: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in AbstractObjectiveCRuntime>>autoreleaseWhile: Receiver: an UndefinedObject Temporaries: pool = a CCompositePointer {020CD5E0} (id) previousState = false .self = an ObjectiveCRuntime2 .aBlock = BlockClosure [] in CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: Context PC = 32 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in AbstractObjectiveCRuntime>>autoreleaseWhile: outerContext = nil copiedValues = an Array[2] Arguments: aBlock = BlockClosure [] in [] in RecursionLock>>critical: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- optimized [] in RecursionLock>>critical: Receiver: an UndefinedObject Temporaries: .activeProcess = a Process in Process>>resume .self = a RecursionLock .aBlock = BlockClosure [] in AbstractObjectiveCRuntime>>autoreleaseWhile: Context PC = 12 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in RecursionLock>>critical: outerContext = nil copiedValues = an Array[3] Arguments: aBlock = BlockClosure [] in Semaphore>>critical: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Semaphore>>critical: Receiver: a Semaphore Instance Variables: firstLink = nil lastLink = nil excessSignals = 0 Arguments: mutuallyExcludedBlock = BlockClosure [] in RecursionLock>>critical: Context PC = 10 ---------------------------------------------------------------------- RecursionLock>>critical: Receiver: a RecursionLock Instance Variables: owner = a Process in Process>>resume semaphore = a Semaphore[0] Arguments: aBlock = BlockClosure [] in AbstractObjectiveCRuntime>>autoreleaseWhile: Temporaries: activeProcess = a Process in Process>>resume Context PC = 20 ---------------------------------------------------------------------- ObjectiveCRuntime2(AbstractObjectiveCRuntime)>>autoreleaseWhile: Receiver: an ObjectiveCRuntime2 Instance Variables: typeEncoder = an ObjectiveCRuntimeTypeEncoder autoreleaseLock = a RecursionLock autoreleaseActive = true Arguments: aBlock = BlockClosure [] in CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: Context PC = 9 ---------------------------------------------------------------------- CairoGraphics.QuartzSurface>>initVMRasterSurface:extent: Receiver: a CairoGraphics.QuartzSurface Instance Variables: handle = nil errorCode = nil callbacks = nil cgContextRef = nil rasterSurface = a CCompositePointer {003F3150} (id) Arguments: anObjectiveCSTRasterSurface = a CCompositePointer {003F3150} (id) aPoint = 200 @ 200 Temporaries: cgContextRefPointer = nil nsBitmap = nil nsGraphicsContext = nil Context PC = 14 ---------------------------------------------------------------------- CairoGraphics.QuartzSurface class>>window: Receiver: a CairoGraphics.QuartzSurface class Instance Variables: superclass = CairoGraphics.Surface methodDict = a MethodDictionary[3] format = 16389 subclasses = nil instanceVariables = an Array[2] organization = ('initialize-release' #destroy #initVMRasterSurface:extent:) ('accessing' #newCairoContextWhile:) name = #QuartzSurface classPool = a NameSpaceOfClass[0] environment = a NameSpace[62] Arguments: aWindow = a ScheduledWindow 38284944 Temporaries: stHostWindow = a CCompositePointer {02482E90} (struct objc_object * ) stWindow = a CCompositePointer {003F3150} (id) Context PC = 20 ---------------------------------------------------------------------- ScheduledWindow(Window)>>cairoSurface Receiver: a ScheduledWindow Instance Variables: handle = a GraphicsHandle(38284944) width = 200 height = 200 background = ColorValue white inputOrigin = 1179 @ 619 creationOrigin = 1180 @ 620 sensor = an EventSensor iconic = false windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Unlabeled Canvas' icon = an Icon minimumSize = 50 @ 50 maximumSize = nil component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a MacOSXBorderDecorationPolicy widgetPolicy = a MacOSXWidgetPolicy controller = an ApplicationStandardSystemController model = a SimpleApp damageRepairPolicy = a WindowDisplayPolicy masterWindow = nil activationNotification = true application = nil dragDropInProgress = nil dragDropTracker = nil dropTarget = nil keyboardProcessor = a KeyboardProcessor receiveWindowEvents = nil sendWindowEvents = nil toolbarVisible = true windowEventBlock = nil Context PC = 5 ---------------------------------------------------------------------- ScheduledWindow(DisplaySurface)>>newCairoSurfaceWhile: Receiver: a ScheduledWindow Instance Variables: handle = a GraphicsHandle(38284944) width = 200 height = 200 background = ColorValue white inputOrigin = 1179 @ 619 creationOrigin = 1180 @ 620 sensor = an EventSensor iconic = false windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Unlabeled Canvas' icon = an Icon minimumSize = 50 @ 50 maximumSize = nil component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a MacOSXBorderDecorationPolicy widgetPolicy = a MacOSXWidgetPolicy controller = an ApplicationStandardSystemController model = a SimpleApp damageRepairPolicy = a WindowDisplayPolicy masterWindow = nil activationNotification = true application = nil dragDropInProgress = nil dragDropTracker = nil dropTarget = nil keyboardProcessor = a KeyboardProcessor receiveWindowEvents = nil sendWindowEvents = nil toolbarVisible = true windowEventBlock = nil Arguments: aBlock = BlockClosure [] in ScreenGraphicsContext>>newCairoContextWhile: Temporaries: surface = nil Context PC = 4 ---------------------------------------------------------------------- ScreenGraphicsContext>>newCairoContextWhile: Receiver: a ScreenGraphicsContext Instance Variables: medium = a ScheduledWindow 38284944 clipOriginX = 6 clipOriginY = 6 clipWidth = 188 clipHeight = 188 lineWidth = 1 capStyle = 1 joinStyle = 1 deviceFont = a GraphicsHandle(3471504) devicePaint = 0 offsetX = 6 offsetY = 6 phaseX = 0 phaseY = 0 scaleX = 1 scaleY = 1 font = a MacOSXFont paint = SymbolicPaint foreground paintPolicy = a PaintPolicy fontPolicy = a FontPolicy clientData = nil paintPreferences = nil Arguments: aBlock = BlockClosure [] in SimpleCairoView>>displayOn: Context PC = 8 ---------------------------------------------------------------------- SimpleCairoView>>displayOn: Receiver: a SimpleCairoView Instance Variables: container = a BorderedWrapper on: a SimpleCairoView eventHandlers = nil properties = nil model = nil controller = a Controller Arguments: gc = a ScreenGraphicsContext Context PC = 7 ---------------------------------------------------------------------- BorderedWrapper>>displayOn: Receiver: a BorderedWrapper Instance Variables: container = a SpecWrapper on: a BorderedWrapper on: a SimpleCairoView eventHandlers = nil properties = nil component = a SimpleCairoView origin = 5 @ 5 layout = a LayoutFrame extent = 190 @ 190 insetDisplayBox = 6 @ 6 corner: 194 @ 194 border = a SimpleBorder inset = nil insideColor = nil Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: bx = 5 @ 5 corner: 195 @ 195 clipBox = 5 @ 5 corner: 195 @ 195 insetClipBox = 6 @ 6 corner: 194 @ 194 Context PC = 64 ---------------------------------------------------------------------- SpecWrapper(Wrapper)>>displayOn: Receiver: a SpecWrapper Instance Variables: container = a CompositePart eventHandlers = nil properties = nil component = a BorderedWrapper on: a SimpleCairoView widget = a SimpleCairoView widgetState = a WidgetState effectivelyVisible = true decorator = nil dependents = nil dropTarget = nil spec = an ArbitraryComponentSpec Arguments: aGraphicsContext = a ScreenGraphicsContext Context PC = 7 ---------------------------------------------------------------------- SpecWrapper(WidgetWrapper)>>displayOn: Receiver: a SpecWrapper Instance Variables: container = a CompositePart eventHandlers = nil properties = nil component = a BorderedWrapper on: a SimpleCairoView widget = a SimpleCairoView widgetState = a WidgetState effectivelyVisible = true decorator = nil dependents = nil dropTarget = nil spec = an ArbitraryComponentSpec Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: lp = nil Context PC = 26 ---------------------------------------------------------------------- CompositePart>>displayOn: Receiver: a CompositePart Instance Variables: container = a ScheduledWindow 38284944 eventHandlers = nil properties = nil components = an OrderedCollection[1] preferredBounds = 0 @ 0 corner: 195 @ 195 Arguments: aGraphicsContext = a ScreenGraphicsContext Temporaries: clipBox = 0 @ 0 corner: 200 @ 222 i = 1 component = a SpecWrapper on: a BorderedWrapper on: a SimpleCairoView Context PC = 30 ---------------------------------------------------------------------- WindowDisplayPolicy>>displayDamageList:in: Receiver: a WindowDisplayPolicy Arguments: aDamageList = an Array[1] aWindow = a ScheduledWindow 38284944 Temporaries: windowGraphicsContext = a ScreenGraphicsContext windowVisual = a CompositePart i = 2 i = 1 Context PC = 73 ---------------------------------------------------------------------- ScheduledWindow>>displayDamageEvent: Receiver: a ScheduledWindow Instance Variables: handle = a GraphicsHandle(38284944) width = 200 height = 200 background = ColorValue white inputOrigin = 1179 @ 619 creationOrigin = 1180 @ 620 sensor = an EventSensor iconic = false windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Unlabeled Canvas' icon = an Icon minimumSize = 50 @ 50 maximumSize = nil component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a MacOSXBorderDecorationPolicy widgetPolicy = a MacOSXWidgetPolicy controller = an ApplicationStandardSystemController model = a SimpleApp damageRepairPolicy = a WindowDisplayPolicy masterWindow = nil activationNotification = true application = nil dragDropInProgress = nil dragDropTracker = nil dropTarget = nil keyboardProcessor = a KeyboardProcessor receiveWindowEvents = nil sendWindowEvents = nil toolbarVisible = true windowEventBlock = nil Arguments: aDamageList = an Array[1] Context PC = 7 ---------------------------------------------------------------------- ScheduledWindow(Window)>>displayPendingInvalidation Receiver: a ScheduledWindow Instance Variables: handle = a GraphicsHandle(38284944) width = 200 height = 200 background = ColorValue white inputOrigin = 1179 @ 619 creationOrigin = 1180 @ 620 sensor = an EventSensor iconic = false windowType = #normal effectiveWindowType = nil statusLineHeight = 0 allowsStatusLine = true mapped = true eventHandlers = nil windowManager = a WindowManager label = 'Unlabeled Canvas' icon = an Icon minimumSize = 50 @ 50 maximumSize = nil component = a CompositePart lookPreferences = nil paintPreferences = nil edgeDecorationPolicy = a MacOSXBorderDecorationPolicy widgetPolicy = a MacOSXWidgetPolicy controller = an ApplicationStandardSystemController model = a SimpleApp damageRepairPolicy = a WindowDisplayPolicy masterWindow = nil activationNotification = true application = nil dragDropInProgress = nil dragDropTracker = nil dropTarget = nil keyboardProcessor = a KeyboardProcessor receiveWindowEvents = nil sendWindowEvents = nil toolbarVisible = true windowEventBlock = nil Context PC = 24 ---------------------------------------------------------------------- SimpleApp(ApplicationModel)>>openInterface:withPolicy:inSession: Receiver: a SimpleApp Instance Variables: dependents = a ScheduledWindow 38284944 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil cairoView = a SimpleCairoView Arguments: aSymbol = #windowSpec aPolicy = a MacOSXLookPolicy anApplicationContext = a ControlManager Temporaries: spec = a FullSpec Context PC = 68 ---------------------------------------------------------------------- SimpleApp(ApplicationModel)>>openInterface:withPolicy: Receiver: a SimpleApp Instance Variables: dependents = a ScheduledWindow 38284944 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil cairoView = a SimpleCairoView Arguments: aSymbol = #windowSpec aPolicy = a MacOSXLookPolicy Temporaries: aSession = a ControlManager Context PC = 17 ---------------------------------------------------------------------- SimpleApp(ApplicationModel)>>openInterface: Receiver: a SimpleApp Instance Variables: dependents = a ScheduledWindow 38284944 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil cairoView = a SimpleCairoView Arguments: aSymbol = #windowSpec Context PC = 9 ---------------------------------------------------------------------- SimpleApp class(ApplicationModel class)>>openOn:withSpec: Receiver: a SimpleApp class Instance Variables: superclass = ApplicationModel methodDict = a MethodDictionary[2] format = 16389 subclasses = nil instanceVariables = an Array[1] organization = ('initialize-release' #cairoView #initialize) name = #SimpleApp classPool = a NameSpaceOfClass[0] environment = nil savedWindowInformation = nil Arguments: anInstance = a SimpleApp aSymbol = #windowSpec Context PC = 4 ---------------------------------------------------------------------- UIPainterController>>doOpen Receiver: an UIPainterController Instance Variables: model = an UIPainter view = an UIPainterView menuHolder = BlockClosure [] in UIPainterController>>initializeMenu performer = an UIPainterController currentMode = a ValueHolder on: a SelectModeTracker oldPoint = 1 @ 98 showGrid = a ValueHolder on: #'Show If On' gridStep = a ValueHolder on: 8 griddedHorizontally = a ValueHolder on: false griddedVertically = a ValueHolder on: false fenced = a ValueHolder on: false primarySelection = a SpecWrapper on: a BorderedWrapper on: a View selections = an Array[1] handles = an OrderedCollection[4] canvasHasChanged = false Temporaries: targetClass = SimpleApp choice = nil Context PC = 124 ---------------------------------------------------------------------- UIPainterTool>>doOpen Receiver: an UIPainterTool Instance Variables: dependents = a ScheduledWindow 3414544 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil selectionHolder = a ValueHolder on: an UIPainterController selection = an Array[1] selectionKind = #single controller = an UIPainterController currentSpecCopy = an ArbitraryComponentSpec currentSpecBindings = an IdentityDictionary[21] specChannel = a ValueHolder on: an ArbitraryComponentSpec subBuilder = an UIBuilder lock = false slice = a ValueHolder on: #Basics lastSlice = #Basics slicesMenu = a ValueHolder on: a Menu sliceInfo = an IdentityDictionary[5] client = an UIPainterTool statusBarText = a ValueHolder on: 'Unlabeled Canvas' list = a SelectionInList sliceChanging = false sliceTabChanging = false canvasTree = a MultiSelectionInTree menuBar = a Menu currentView = an UIPainterView Context PC = 3 ---------------------------------------------------------------------- optimized [] in ApplicationModel>>actionFor: Receiver: an UndefinedObject Temporaries: .self = an UIPainterTool .aKey = #doOpen Context PC = 7 ---------------------------------------------------------------------- optimized [] in ToolBar>>newButtonModelFor: Receiver: an UndefinedObject Temporaries: .self = a MacOSXToolBar .action = #doOpen Context PC = 13 ---------------------------------------------------------------------- optimized [] in ToolBar>>newButtonModelFor: Receiver: an UndefinedObject Arguments: b = a ValueHolder on: nil v = true Temporaries: .self = a MacOSXToolBar .aMenuItem = a MenuItem 'Open' .executeBlock = BlockClosure [] in ToolBar>>newButtonModelFor: Context PC = 16 ---------------------------------------------------------------------- PluggableAdaptor>>setValue: Receiver: a PluggableAdaptor Instance Variables: dependents = an UndecoratedActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ToolBar>>newButtonModelFor: putBlock = BlockClosure [] in ToolBar>>newButtonModelFor: updateBlock = BlockClosure [] in ToolBar>>newButtonModelFor: Arguments: newValue = true Context PC = 6 ---------------------------------------------------------------------- PluggableAdaptor(ValueModel)>>value: Receiver: a PluggableAdaptor Instance Variables: dependents = an UndecoratedActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ToolBar>>newButtonModelFor: putBlock = BlockClosure [] in ToolBar>>newButtonModelFor: updateBlock = BlockClosure [] in ToolBar>>newButtonModelFor: Arguments: newValue = true Context PC = 5 ---------------------------------------------------------------------- TriggerButtonController>>pressAction Receiver: a TriggerButtonController Instance Variables: model = a PluggableAdaptor view = an UndecoratedActionButtonView keyboardHook = nil dispatcher = nil Context PC = 17 ---------------------------------------------------------------------- TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: aPoint = 7 @ 10 Context PC = 8 ---------------------------------------------------------------------- TriggerButtonTracker>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: aPoint = 7 @ 10 Context PC = 11 ---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: aMouseButtonEvent = a RedButtonReleasedEvent Context PC = 13 ---------------------------------------------------------------------- RedButtonReleasedEvent>>dispatchTo: Receiver: a RedButtonReleasedEvent Instance Variables: time = 172819648 initiator = an EventDispatcher window = a ScheduledWindow 3414544 wasHandled = false state = 0 x = 92 y = 37 gx = 812 gy = 461 buttonNumber = 1 Arguments: anObject = a TriggerButtonTracker Context PC = 4 ---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>handleEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a TriggerButtonController inside = true Arguments: anEvent = a RedButtonReleasedEvent Context PC = 22 ---------------------------------------------------------------------- EventDispatcher>>dispatch:to: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonReleasedEvent object = a TriggerButtonTracker Temporaries: tmp = nil Context PC = 10 ---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonReleasedEvent Temporaries: objectWantingControl = nil targetKeyboardProcessor = nil Context PC = 63 ---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatch Receiver: a RedButtonReleasedEvent Instance Variables: time = 172819648 initiator = an EventDispatcher window = a ScheduledWindow 3414544 wasHandled = false state = 0 x = 92 y = 37 gx = 812 gy = 461 buttonNumber = 1 Context PC = 16 ---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatchForWindowManager: Receiver: a RedButtonReleasedEvent Instance Variables: time = 172819648 initiator = an EventDispatcher window = a ScheduledWindow 3414544 wasHandled = false state = 0 x = 92 y = 37 gx = 812 gy = 461 buttonNumber = 1 Arguments: aWinMgr = a WindowManager Context PC = 4 ---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a RedButtonReleasedEvent .self = a WindowManager Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = BadControllerError handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18 ---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[3] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Arguments: event = a RedButtonReleasedEvent Context PC = 13 ---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[3] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Temporaries: event = a RedButtonReleasedEvent Context PC = 9 ---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18 ---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .aBlock = BlockClosure [] in WindowManager>>newProcess Context PC = 9 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc CairoTest.st (3K) Download Attachment |
Now it should work: @+Maarten, > "David Shaffer" <[hidden email]> | > I've tried this with all versions of VW listed above up to and including the |
Thanks but I get the same exception. Thanks for the fix to my View but I don't think it even get's that far. No sample of Cairo code that I have tried works under OSX. They all produce the same exception (previous e-mail) which appears to be an Objective-C version of DNU of #nsBitmap. David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
That is curious, I do all my dev work on OSX and have hardly problems anymore.
Do you have the libraries OK ? Do you at least get a CairoContext. Did you check Cairo on install to get Travis compilations ?
What if you load the Windows7LookExtraCairo does that work ?
Do you get any further with the standard exception ?
[aGC newCairoContextWhile: [:cr | ]] on: External.LibraryNotFoundError do: [:exception | ^self].
@+Maarten,
> "David Shaffer" <[hidden email]> | Thanks but I get the same exception. Thanks for the fix to my View but I don't think it even get's that far. No sample of Cairo code that I have tried works under OSX. They all produce the same exception (previous e-mail) which appears to be an Objective-C version of DNU of #nsBitmap.
David
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On Jun 4, 2013, at 11:37 AM, [hidden email] wrote:
Yes: shaffer@bigmac Frameworks $ ls -l total 9288 -r-xr-xr-x 1 shaffer staff 2674472 May 29 13:59 libcairo.2.dylib -r-xr-xr-x 1 shaffer staff 1462688 May 29 13:59 libpixman-1.0.dylib -r-xr-xr-x 1 shaffer staff 612816 May 29 13:59 libpng15.0.dylib I have a half-dozen other libcairo's as well (output from locate libcairo). Is there a way to tell which one is being loaded? David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On Jun 4, 2013, at 12:03 PM, [hidden email] wrote:
Ah, thanks. I inserted a halt in this method but it is never hit. It gets stopped in: QuartzSurface>>initVMRasterSurface:extent: in the first ObjectiveCRuntime object:perform: (the one with #nsBitmap) before any methods are invoked in LibCairo. David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On Jun 4, 2013, at 12:15 PM, David Shaffer wrote:
I think that I tracked it down. The problem was the newer VM's Objective-C support which breaks #nsBitmap. My old images were being run by the newer VM hence the problems even with old images. If I run my code under the vw7.9.1 VM everything works fine. I'll file a report on vw-dev. Thanks for your help! David _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |