2009-10-20 32 views
5

Trong khi chạy ứng dụng của tôi (một bản vẽ tùy chỉnh tốt) tôi nhận được lỗi này (nó xảy ra một chút không có tác dụng phụ quan sát được, nhưng tôi muốn hiểu chuyện gì đang xảy ra).Cần trợ giúp để hiểu "kCGErrorIllegalArgument: CGSUnionRegionWithRect: Vùng không hợp lệ"

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

Vì vậy, tôi đặt điểm ngắt đó và nhận chồng này. Không có khung ngăn xếp nào là mã của tôi, mặc dù chắc chắn tôi đã ghi đè drawRect của NSView trong một số trường hợp.

Có ai nhìn thấy điều này trước hoặc có thông tin chi tiết về những gì đang xảy ra không?

#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

Sẽ rất hữu ích nếu bạn cũng đăng mã nơi xảy ra lỗi. –

+0

Tôi không biết nó đang xảy ra ở đâu. Không có mã nào của tôi nằm trong dấu vết ngăn xếp. – nall

Trả lời

3

Hóa ra tôi đã đề nghị NSProgressIndicator để hiển thị từ một sợi phi-chính. Khi tôi xóa tin nhắn này đã biến mất.

4

Gần đây tôi đã có chính xác cùng một thông báo trong bảng điều khiển.
Trong trường hợp của tôi, tôi đã cập nhật chỉ báo tiến trình sai.
Chỉ báo tiến trình của tôi được hiển thị trên một trang tính và tôi đã không loại bỏ chính xác trang tính. Các lỗi luôn xuất hiện lần thứ hai khi tôi hiển thị NSSheet với beginSheet
Bạn đang sử dụng một NSSheet?
Đối với tôi nó đã làm việc để:

  1. vượt qua một didEndSelector để beginSheet.
  2. Một [sheet close]; trong đó selector
  3. và cuối cùng là một [NSApp endSheet] để bỏ qua những tấm
+0

Điều này nghe có vẻ đầy hứa hẹn. Tôi, trên thực tế, cập nhật một chỉ số tiến bộ, nhưng không sử dụng một NSSheet (rõ ràng anyway). – nall

+0

Bạn đã gỡ lỗi sự cố của mình như thế nào, btw? – nall

+0

Tìm thấy nó một cách tình cờ. Lúc đầu, tôi đã nghi ngờ mã vẽ tùy chỉnh của tôi. Nhưng cuối cùng thì đó là endSheet còn thiếu. Chỉ báo tiến độ và trang tính của tôi hoạt động bình thường khi được hiển thị lần đầu tiên trong một lần chạy ứng dụng. Nhưng nó bắt đầu viết thông điệp "Vùng không hợp lệ" cho mọi cuộc gọi tiếp theo. –

Các vấn đề liên quan