2009-10-20 8 views
5

मेरा आवेदन चलाते समय (जो कस्टम ड्राइंग का एक अच्छा सा हिस्सा करता है) मुझे यह त्रुटि मिलती है (यह कोई अवलोकन साइड इफेक्ट्स के साथ अच्छा नहीं होता है, लेकिन मैं चाहूंगा समझ रहा है कि क्या हो रहा है)।"kCGErrorIllegalArgument: CGSUnionRegionWithRect: अवैध क्षेत्र"

<Error>: kCGErrorIllegalArgument: CGSUnionRegionWithRect : Invalid region 
<Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch 
     errors as they are logged. 

तो मैंने उस ब्रेकपॉइंट को सेट किया और यह ढेर प्राप्त किया। स्टैक फ्रेम में से कोई भी मेरा कोड नहीं है, हालांकि निश्चित रूप से मैंने कुछ मामलों में NSView के drawRect को ओवरराइड किया है।

क्या किसी ने यह देखा है या क्या हो रहा है के बारे में अंतर्दृष्टि है?

#0 0x94bee5f2 in CGErrorBreakpoint() 
#1 0x94c831d8 in CGSGlobalErrorv() 
#2 0x94a64b61 in CGSUnionRegionWithRect() 
#3 0x912a2a70 in -[NSRegion addRegion:]() 
#4 0x912a28c1 in -[NSWindow _setNeedsDisplayInRegion:]() 
#5 0x911f3548 in -[NSWindow _absorbDeferredNeedsDisplayRegion]() 
#6 0x911f2113 in -[NSView _sendViewWillDrawInRect:clipRootView:suppressRecursion:]() 
#7 0x91154ee9 in -[NSView displayIfNeeded]() 
#8 0x9111e292 in -[NSWindow displayIfNeeded]() 
#9 0x9114f764 in _handleWindowNeedsDisplay() 
#10 0x9408eb02 in __CFRunLoopDoObservers() 
#11 0x9404b65d in __CFRunLoopRun() 
#12 0x9404ad34 in CFRunLoopRunSpecific() 
#13 0x9404ab61 in CFRunLoopRunInMode() 
#14 0x97984fec in RunCurrentEventLoopInMode() 
#15 0x97984da3 in ReceiveNextEventCommon() 
#16 0x97984c28 in BlockUntilNextEventMatchingListInMode() 
#17 0x91125c95 in _DPSNextEvent() 
#18 0x9112550a in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]() 
#19 0x910e769b in -[NSApplication run]() 
#20 0x910df735 in NSApplicationMain() 
#21 0x00002a4f in main (argc=0x1, argv=0xbffff4d4) at 
        /Users/me/Code/myapp/src/main.m:19 
+0

यदि आप उस कोड को पोस्ट करेंगे जहां त्रुटि हो रही है तो यह वास्तव में सहायक होगा। –

+0

मुझे नहीं पता कि यह कहां हो रहा है। मेरा कोई भी कोड स्टैक ट्रेस में नहीं है। – nall

उत्तर

3

खारिज करने के लिए यह पता चला मैं एक गैर मुख्य थ्रेड से प्रदर्शित करने के लिए NSProgressIndicator का अनुरोध किया गया था। एक बार जब मैंने इसे हटा दिया तो संदेश चले गए।

4

मुझे हाल ही में कंसोल में एक ही संदेश था।
मेरे मामले में मैं प्रगति सूचक को गलत तरीके से अद्यतन कर रहा था।
मेरी प्रगति संकेतक शीट पर प्रदर्शित किया गया था और मैं शीट को सही तरीके से खारिज नहीं कर रहा था। त्रुटियों ने हमेशा दूसरी बार पॉप किया जब मैंने एनएसएसशीट को beginSheet
के साथ प्रदर्शित किया है क्या आप एनएसएसशीट का उपयोग कर रहे हैं?
मेरे लिए यह करने के लिए काम:

  1. एक didEndSelector beginSheet लिए गुजरती हैं।
  2. कि चयनकर्ता
  3. और अंत में एक [NSApp endSheet] के भीतर एक [sheet close]; चादर
+0

यह वादा करता है। मैं वास्तव में, एक प्रगति संकेतक अद्यतन कर रहा हूं, लेकिन मैं एनएसएसशीट (स्पष्ट रूप से वैसे भी) का उपयोग नहीं कर रहा हूं। – nall

+0

आपने अपनी समस्या को कैसे डीबग किया, बीटीडब्ल्यू? – nall

+0

इसे दुर्घटना से मिला। पहले मैं अपने कस्टम ड्राइंग कोड पर संदेह कर रहा था। लेकिन अंत में यह गायब अंतशीट था। मेरी शीट और प्रगति संकेतक ठीक से काम कर रहा था जब इसे पहली बार एप्लिकेशन चलाने में दिखाया गया था। लेकिन इसने प्रत्येक आगामी कॉल के लिए "अमान्य क्षेत्र" संदेश लिखना शुरू कर दिया। –