logo       

bugfix (#ifdef DEBUG) for short lived windows: msg#00160

window-managers.sawfish

Subject: bugfix (#ifdef DEBUG) for short lived windows


add_window() should contain:

w->plist = Qnil;
w->frame_style = Qnil;
w->frame = 0;

+ w->name = rep_null_string ();
w->icon_image = rep_NULL;

because the 1st X call (which is _before_ XGetWMName), can cause the
error_handler
call:
DB(("error_handler (%s)\n", rep_STR(w->name)));

and 0 is not valid for rep_STR.




Also, i'm not sure if an infinite cycle is avoided (when closing windows):

remove_window() makes some X calls, which (if the X window is already gone),
can trigger error_handler, which calls remove_window.


i've added a new slot u_int status : 2; to lisp_window to avoid it.





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise