Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind? I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
R GUI and Quartz
6 messages · Simon Urbanek, Randy Lai
On Nov 13, 2013, at 6:54 AM, Randy Lai <randy.cs.lai at gmail.com> wrote:
Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind?
Can you supply some details as of what you're looking at? The GUI is no longer driving Quartz, so I'm not sure what code you have in mind. Cheers, Simon
I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
I meant the method windowWillCloseNotifications in RDocumentController.m 1. change ?QuartzCocoaView? to something otherwise to avoid it being invoked, 2. compile the R GUI 3. run the plot function, e.g. plot(1,1) 4. close the quartz you will see the error EXC_HAD_ACCESS (code=EXC_i386_GPFLT). there may be a memory leak in R code!?
On Nov 13, 2013, at 6:26 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
On Nov 13, 2013, at 6:54 AM, Randy Lai <randy.cs.lai at gmail.com> wrote:
Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind?
Can you supply some details as of what you're looking at? The GUI is no longer driving Quartz, so I'm not sure what code you have in mind. Cheers, Simon
I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
I figured it out. The window instance will be released in the main R, so we have to retain the instance until it is released.
Otherwise, the window will be released twice.
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow *w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"]);
[w retain];
On Nov 13, 2013, at 12:07 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
I meant the method windowWillCloseNotifications in RDocumentController.m 1. change ?QuartzCocoaView? to something otherwise to avoid it being invoked, 2. compile the R GUI 3. run the plot function, e.g. plot(1,1) 4. close the quartz you will see the error EXC_HAD_ACCESS (code=EXC_i386_GPFLT). there may be a memory leak in R code!? On Nov 13, 2013, at 6:26 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
On Nov 13, 2013, at 6:54 AM, Randy Lai <randy.cs.lai at gmail.com> wrote:
Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind?
Can you supply some details as of what you're looking at? The GUI is no longer driving Quartz, so I'm not sure what code you have in mind. Cheers, Simon
I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
an additional semi colon is the last post.
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow *w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"])
[w retain];
On Nov 13, 2013, at 2:10 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
I figured it out. The window instance will be released in the main R, so we have to retain the instance until it is released.
Otherwise, the window will be released twice.
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow *w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"]);
[w retain];
On Nov 13, 2013, at 12:07 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
I meant the method windowWillCloseNotifications in RDocumentController.m 1. change ?QuartzCocoaView? to something otherwise to avoid it being invoked, 2. compile the R GUI 3. run the plot function, e.g. plot(1,1) 4. close the quartz you will see the error EXC_HAD_ACCESS (code=EXC_i386_GPFLT). there may be a memory leak in R code!? On Nov 13, 2013, at 6:26 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
On Nov 13, 2013, at 6:54 AM, Randy Lai <randy.cs.lai at gmail.com> wrote:
Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind?
Can you supply some details as of what you're looking at? The GUI is no longer driving Quartz, so I'm not sure what code you have in mind. Cheers, Simon
I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac
I found a better solution which works in ARC mode
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow* w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"]){
[w setReleasedWhenClosed:NO];
}
On Nov 13, 2013, at 2:28 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
an additional semi colon is the last post.
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow *w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"])
[w retain];
On Nov 13, 2013, at 2:10 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
I figured it out. The window instance will be released in the main R, so we have to retain the instance until it is released.
Otherwise, the window will be released twice.
- (void)windowWillCloseNotifications:(NSNotification*) aNotification
{
NSWindow *w = [aNotification object];
if (w && [[(NSObject*)[w delegate] className] isEqualToString:@"QuartzCocoaView"]);
[w retain];
On Nov 13, 2013, at 12:07 PM, Randy Lai <randy.cs.lai at gmail.com> wrote:
I meant the method windowWillCloseNotifications in RDocumentController.m 1. change ?QuartzCocoaView? to something otherwise to avoid it being invoked, 2. compile the R GUI 3. run the plot function, e.g. plot(1,1) 4. close the quartz you will see the error EXC_HAD_ACCESS (code=EXC_i386_GPFLT). there may be a memory leak in R code!? On Nov 13, 2013, at 6:26 AM, Simon Urbanek <simon.urbanek at r-project.org> wrote:
On Nov 13, 2013, at 6:54 AM, Randy Lai <randy.cs.lai at gmail.com> wrote:
Hi all, I am studying the R GUI code and I have a question about Quartz. It seems that R GUI will add a dummy Quartz Cocoa window before the quartz is closed. What is the reason behind?
Can you supply some details as of what you're looking at? The GUI is no longer driving Quartz, so I'm not sure what code you have in mind. Cheers, Simon
I have tried compiled the code without this part, it raises an error for EXC_HAD_ACCESS (code=EXC_i386_GPFLT). Randy
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac