[python-nl] PyObjC Segfault

Pepijn de Vos pepijndevos at gmail.com
Sun Feb 28 15:47:18 CET 2010


Dank voor de reactie.

Nadat ik nog wat rond heb gekeken lijk het er op dat ik zowel CFMachPortCreateRunLoopSource als CFRunLoopGetCurrent nodig hebt, klopt dit?

Het volledige script is helaas niet veel meer dan wat ik al gepost heb, is dit misschien gewoon een bug in PyObjC?

from Quartz import *

def MyFunction(p, t, e):
	print e

CGEventTapCreate(kCGHIDEventTap, kCGTailAppendEventTap, kCGEventTapOptionListenOnly, kCGEventLeftMouseDown, MyFunction)

Groeten,
Pepijn

On Feb 28, 2010, at 1:23 PM, Ronald Oussoren wrote:

> 
> On 25 Feb, 2010, at 18:42, Pepijn de Vos wrote:
> 
>> Hoi allemaal,
>> 
>> Ik ben momenteel druk bezig met een event systeem toe te voegen aan PyMouse, mijn muis-besturings module.
>> 
>> Nu heb ik uitgevonden dat er in ObjC een event systeem zit, maar ik kan er maar niet achter komen hoe het precies werkt. Weet iemand hier daar iets over?
>> 
>> Om te beginnen importeer ik de hele zooi:
>> from Quartz import *
>> 
>> Daarna heb ik geprobeerd een event tap te maken door middel van deze pagina:
>> http://developer.apple.com/mac/library/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html#//apple_ref/c/func/CGEventTapCreate
>> 
>> Ik kwam tot deze code:
>> CGEventTapCreate(kCGHIDEventTap, kCGTailAppendEventTap, kCGEventTapOptionListenOnly, kCGEventLeftMouseDown, MyFunction)
>> 
>> Maar dat geeft direct een segfault.
>> Ik heb wel uitgevonden dat je de event eerst aan een eventloop moet toevoegen, maar waar ik die vandaan haal...
>> CFMachPortCreateRunLoopSource(None, CFMachPortRef, 0) -> None
>> CFRunLoopGetCurrent() -> heleboel output
>> 
>> Ik weet ook niet of dat iets te maken heeft met de segfault.
> 
> CFRunLoopGetCurrent is de juiste manier.
> 
> Ik heb geen idee waar de crash vandaan komt, kan je een volledig script posten waarmee je het probleem laat zien?
> 
> Ronald
>> 
>> Bij voorbaat dank.
>> 
>> Pepijn de Vos
>> _______________________________________________
>> Python-nl mailing list
>> Python-nl op python.org
>> http://mail.python.org/mailman/listinfo/python-nl
> 
> _______________________________________________
> Python-nl mailing list
> Python-nl op python.org
> http://mail.python.org/mailman/listinfo/python-nl

------------- volgend deel ------------
Een HTML-bijlage is gescrubt...
URL: <http://mail.python.org/pipermail/python-nl/attachments/20100228/d4bacaf6/attachment.html>


More information about the Python-nl mailing list