Kuba,

> delete_window() goes through xobjs.windowlist to remove all pointers to the 
> window
> being deleted. Yet it also frees the window's select lists and stacks each 
> time
> it encounters the window in the windowlist. This possibly can lead to 
> multiple deletion.
> It should delete the select list and stacks right before the free(searchwin) 
> call.

The xobjs.windowlist linked list is the only place holding the pointers
to each window data structure;  no pointer will appear twice in that
list.  It would be equivalent (and probably more obvious) to put the
"free(searchwin)" call just before the "break" statement.

                                                ---Tim

+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim)   | email: [email protected]    |
| Open Circuit Design, Inc.      | web:   http://opencircuitdesign.com |
| 22815 Timber Creek Lane        | phone: (301) 528-5030               |
| Clarksburg, MD 20871-4001      | cell:  (240) 401-0616               |
+--------------------------------+-------------------------------------+
_______________________________________________
Xcircuit-dev mailing list
[email protected]
http://www.opencircuitdesign.com/mailman/listinfo/xcircuit-dev

Reply via email to