Thanks for replying, to tell you the truth I thought of this before the post and i tried using
[view performSelectorOnMainThread:@selector(remove_view:) withObject:nil waitUntilDone:YES]; where remove_view method calls 'removefromsuperview' however the application still came to a Not Responding state. --- On Thu, 4/26/12, Jim Adams <jim.ad...@sas.com> wrote: > From: Jim Adams <jim.ad...@sas.com> > Subject: RE: removeFromSuperview problem > To: "Leanne Attard" <leanneatt...@yahoo.com>, "cocoa-dev@lists.apple.com" > <cocoa-dev@lists.apple.com> > Date: Thursday, April 26, 2012, 1:24 PM > I wonder if you should move that > removeFromSuperview back onto the main thread? I know when I > was doing lots of cross language stuff with java in the past > that that was usually my problem. > > Jim Adams > > -----Original Message----- > From: cocoa-dev-bounces+jim.adams=sas....@lists.apple.com > [mailto:cocoa-dev-bounces+jim.adams=sas....@lists.apple.com] > On Behalf Of Leanne Attard > Sent: Thursday, April 26, 2012 2:49 AM > To: cocoa-dev@lists.apple.com > Subject: removeFromSuperview problem > > Problem explanation: > > I am doing a Java application which calls a JNI Library to > draw using OpenGL on the window created by JAVA, using the > JAWT NSView handle given as in example: > http://developer.apple.com/library/mac/#samplecode/JAWTExample/Introduction/Intro.html, > and then adding a customized NSView to the NSView given, as > a subview. > > When a window is resized to a smaller size the JAVA side of > my code calls a native function in my library to > remove the native subview added earlier. This is when > the application stalls (Not Responding). Upon forcing the > application to quit, a crash report pops up part of which is > shown > below. As far as I can understand this, there is > a deadlock. This happens upon calling > removeFromSuperview method in NSView. This > is called > on a different thread than the one in which the subview was > added. Can this be the issue causing the > problem? Any help is greatly appreciated. > Can this function be called on a different thread than the > one on which 'addsubview' was called? > > > Thread 3f1b6 > User stack: > 19 thread_start + 13 (in libSystem.B.dylib) > [0x7fff850a5e89] > 19 _pthread_start + 331 (in > libSystem.B.dylib) [0x7fff850a5fd6] > 19 jio_snprintf + 35946 (in > libclient64.dylib) [0x10100d244] > 19 JVM_StartThread + 1362 > (in libclient64.dylib) [0x1010b0cf5] > 19 JVM_StartThread > + 1853 (in libclient64.dylib) [0x1010b0ee0] > 19 > JVM_StartThread + 2203 (in libclient64.dylib) [0x1010b103e] > 19 > JVM_StartThread + 2299 (in libclient64.dylib) [0x1010b109e] > > 19 JVM_StartThread + 2565 (in libclient64.dylib) > [0x1010b11a8] > > 19 JVM_Lseek + 193197 (in libclient64.dylib) > [0x1010a511e] > > 19 ??? [0x104001438] > > 19 ??? [0x10400685a] > > 19 ??? [0x10400685a] > > 19 ??? > [0x10400685a] > > 19 ??? > [0x10400685a] > > 19 > ??? [0x104006a82] > > > 19 ??? [0x10400685a] > > > 19 ??? [0x104006e8d] > > > 19 ??? [0x1040069b3] > > > 19 ??? [0x104011d6e] > > > 19 JVM_DoPrivileged + 93 > (in libjvmlinkage.dylib) [0x1000961ad] > > > 19 > JVM_DoPrivileged + 560 (in libclient64.dylib) [0x1010b03b5] > > > 19 > JVM_Lseek + 192625 (in libclient64.dylib) [0x1010a4ee2] > > > 19 > JVM_Lseek + 193197 (in libclient64.dylib) [0x1010a511e] > > > > 19 ??? [0x104001438] > > > > 19 ??? [0x1040069b3] > > > > 19 ??? [0x10400685a] > > > > 19 ??? [0x10400685a] > > > > 19 ??? [0x104006d34] > > > > 19 ??? > [0x10400685a] > > > > 19 ??? > [0x104006d34] > > > > 19 > ??? [0x10400685a] > > > > > 19 ??? [0x10400685a] > > > > > 19 ??? [0x10400685a] > > > > > 19 ??? [0x10400685a] > > > > > 19 ??? [0x10400685a] > > > > > 19 ??? [0x10400685a] > > > > > 19 ??? > [0x10400685a] > > > > > 19 ??? > [0x10400685a] > > > > > 19 > ??? [0x10400685a] > > > > > > 19 ??? [0x10400685a] > > > > > > 19 ??? [0x10400685a] > > > > > > 19 ??? [0x10400685a] > > > > > > 19 ??? [0x104006a82] > > > > > > 19 ??? [0x104011d6e] > > > > > > 19 > Java_hob_rdp_ui_sys_c_1rdpuimanager_00024c_1painter_n_1remove > + 84 (rdpde.mm:370 in libmacrdpui.dylib) [0x1244b7cca] > > > > > > 19 > hob::rdp::c_rdpwindow::unparent_window() + 339 > (macrdpui.hpp:802 in libmacrdpui.dylib) [0x1244ba7cb] > > > > > > 19 > -[NSView removeFromSuperview] + 46 (in AppKit) > [0x7fff83c22143] > > > > > > > 19 -[NSViewHierarchyLock _lockForWriting:handler:] + > 528 (in AppKit) [0x7fff83be1e33] > > > > > > > 19 __semwait_signal + 10 (in > libSystem.B.dylib) [0x7fff850a7a6a] > Kernel stack: > 19 semaphore_wait_continue + 0 [0x22a88f] > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to > the list. > Contact the moderators at > cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/jim.adams%40sas.com > > This email sent to jim.ad...@sas.com > > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com