kaleb@thyme.jpl.nasa.gov (Kaleb Keithley) (03/27/91)
I'm looking at XtDestroyWidget in an application that that creates and destroys widgets (due to the number of them) rather than manage and unmanage. My test program only has one widget it it, though. I observe a memory leak with each iteration of the create and destroy. If I create an Athena or Motif Label on the toplevel shell, and subsequently destroy it, I see the following: - call to Recursive(), which, on the surface, only seems to set w->core.being_destroyed. - test app->in_phase2_destroy, it's not. - build the app->destroy_list; app->dispatch_level is 1, so the widget in the destroy_list gets dispatch_level of 1. - check if the app->dispatch_level is 0, it's not, so _XtDoPhase2Destroy is never called, where, I believe the memory allocated to the widgets in the destroy_list would be free'd. So, what is it that would set the app->dispatch_level to be 0, and thus allow the allocated memory to be free'd in XtDestroyWidget? -- Kaleb Keithley kaleb@thyme.jpl.nasa.gov Meep Meep Roadrunner Veep veep Quayle