Hi! Thanks for the trace output. As far as I can tell, I don't see a better location to place the test. (I have to include myself in the group who have no idea why drawRect is being called when the frame is miniatured.) I would suggest that we add it as you originally suggested. Alan, what do you say? Have you looked into this? -- Anders On Tue, May 10, 2016 at 10:13 PM, Ivan Cibrario Bertolotti < ivan.cibrario@polito.it> wrote: > Hi Anders, > > > On 10 May 2016, at 20:56, Anders Lindgren wrote: > > > > Hi Ivan and Alan! > > > > I'm not sure that is the correct place for the patch. > > > > Could you enable NSTRACE (by uncommenting the line defining > NSTRACE_ENABLED in nsterm.h) and see which function calls `drawRect` (if > possible). If that is in a function that is part of Emacs, it's better to > check that the frame is visible higher up in the call chain. > > > > You will have to start Emacs from a terminal window in order to see the > trace output. You can do this by running > "./nextstep/Emacs.app/Content/MacOS/Emacs”. > > here is the relevant part of the trace output: > > nsterm.m : 1595: [ 6322] x_iconify_frame > nsterm.m : 6770: [ 6323] | [EmacsView windowWillMiniaturize:] > nsterm.m : 6735: [ 6324] | [EmacsView windowDidResignKey:] > nsterm.m : 1504: [ 6325] | | ns_frame_rehighlight > nsterm.m : 7121: [ 6326] | [EmacsView windowDidMiniaturize:] > nsterm.m : 7591: [ 6327] | [EmacsView drawRect:(X:578 Y:4)/(W:15 H:472)] > > If I understand it correctly, the top-level function involved (within > nsterm.m) is x_iconify_frame. The only explicit call pertinent to the > issue that I see within it is: > > [[view window] miniaturize: NSApp]; > > at nsterm.m:1615. I think that the others, from windowWillMiniaturize to > drawRect, are callbacks. The reason why a miniaturize request triggers a > drawRect escapes me at this time, but I’m definitely not an expert on this > GUI. > > Thank you and please let me know if I can be of further assistance. > > Best regards, > Ivan > >