2012-01-25 3 views
7

Al intentar escribir una sencilla Cacao/Applescript con un fondo personalizado (siguiendo este tutorial, http://www.mere-mortal-software.com/blog/details.php?d=2007-01-08), me sale el error de vez en cuando en el depurador:kCGErrorIllegalArgument: _CGSFindSharedWindow?

Error>: kCGErrorIllegalArgument: _CGSFindSharedWindow: WID 3162 
Media Center[10234] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged. 

Por lo tanto, establecer un punto de interrupción en CGErrorBreakpoint y me dieron los siguientes resultados:

Thread 1, Queue : com.apple.main-thread 
#1 0x00007fff92ba4112 in CGSGlobalErrorv() 
#2 0x00007fff92c7ca25 in _CGSFindSharedWindow() 
#3 0x00007fff92b275a9 in _CGSWindowByID() 
#4 0x00007fff92c2cdf9 in CGSOrderFrontConditionally() 
#5 0x00007fff93ce1ecf in __-[NSApplication _copyBatchWindowOrderingPerformerForToken:release:]_block_invoke_2() 
#6 0x00007fff93d0f685 in -[NSPersistentUIManager resumeNormalWindowOrderingAndDrawing]() 
#7 0x00007fff93d0f52f in -[NSPersistentUIManager tearDownStateRestorationApparatusAndResumeWindowOrdering]() 
#8 0x00007fff93d0f374 in -[NSPersistentUIManager finishedRestoringWindowsWithZOrder:registerAsReady:completionHandler:]() 
#9 0x00007fff944f25ed in __-[NSPersistentUIManager restoreAllPersistentStateWithTalagentWindows:registeringAsReadyWhenDone:completionHandler:]_block_invoke_3() 
#10 0x00007fff944f4080 in __-[NSPersistentUIManager restoreAllPersistentStateWithTalagentWindows:registeringAsReadyWhenDone:completionHandler:]_block_invoke_2() 
#11 0x00007fff93f323e8 in __-[NSApplication(NSPersistentUISupport) _restoreWindowWithRestoration:handler:]_block_invoke_1() 
#12 0x00007fff944f2760 in __-[NSApplication(NSPersistentUISupport) _restoreWindowWithRestoration:handler:]_block_invoke_3() 
#13 0x00007fff94c2e44c in __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__() 
#14 0x00007fff94be6562 in __CFRunLoopDoBlocks() 
#15 0x00007fff94c0e195 in __CFRunLoopRun() 
#16 0x00007fff94c0dae6 in CFRunLoopRunSpecific() 
#17 0x00007fff8cfdf3d3 in RunCurrentEventLoopInMode() 
#18 0x00007fff8cfe658f in ReceiveNextEventCommon() 
#19 0x00007fff8cfe64ca in BlockUntilNextEventMatchingListInMode() 
#20 0x00007fff93cdc3f1 in _DPSNextEvent() 
#21 0x00007fff93cdbcf5 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]() 
#22 0x00007fff93cd862d in -[NSApplication run]() 
Thread 2, Queue : (null) 
Thread 3, Queue : com.apple.libdispatch-manager 
Thread 4, Queue : (null) 
Thread 6, Queue : (null) 
Thread 7, Queue : (null) 

las que no estoy del todo seguro de cómo remediar esto, y voy a proporcionar más información de salida si así lo solicita.

Editar: Si abre la aplicación mientras se muestra el dock, me sale el error. Si el dock no se muestra, generalmente funciona.

+0

estoy consiguiendo el mismo error de una forma bastante sencilla app- ganas de ver si le da una respuesta. – leecbaker

+0

Lo mismo, esta aplicación es muy sencilla. Vota la pregunta si te gusta: D Un poco decepcionado, nadie respondió aún ... – Charlie

+0

No puedo creer que nadie haya respondido. ¿Es esto realmente tan raro? – Charlie

Respuesta

4

Tuve un problema similar a eso. ¿Ha intentado marcar la casilla 'liberar cuando está cerrado' en el panel de atributos de su ventana?

+0

Probaremos esto más tarde ... – Charlie

1

Tuve el mismo problema. Creé un controlador de ventana en código de un archivo nib, luego llamé al método showWindow: y liberé el controlador de ventana. (Tanto la versión como la liberación automática causaron el mismo problema.) Viniendo del mundo de iOS, pensé que cuando mostrara una ventana, aumentaría el conteo de retención del controlador y estará bien hasta que se cierre. Como se demostró, esta no es la forma en que funciona, por lo que debe mantener una referencia a este controlador hasta que la ventana esté abierta.

espero que esto ayudó,

raliz