226 sprintf(lastErrorMsg, "code: %d", event->error_code); |
226 sprintf(lastErrorMsg, "code: %d", event->error_code); |
227 } |
227 } |
228 lastRequestCode = event->request_code; |
228 lastRequestCode = event->request_code; |
229 lastMinorCode = event->minor_code; |
229 lastMinorCode = event->minor_code; |
230 lastResource = event->resourceid; |
230 lastResource = event->resourceid; |
|
231 if ((event->error_code == BadWindow) && (lastRequestCode == 4) && (lastMinorCode == 0)) { |
|
232 /* |
|
233 * this is a BadWindow error for X_DestroyWindow. |
|
234 * ignore it here, since it results from the GC freeing windows |
|
235 * in non bottom-up window order. |
|
236 */ |
|
237 return 0; |
|
238 } |
231 |
239 |
232 if (@global(ErrorPrinting) == true) { |
240 if (@global(ErrorPrinting) == true) { |
233 fprintf(stderr, "XWORKSTAT: x-error cought maj=%d (0x%x) min=%d (0x%x) resource=%x\n", |
241 fprintf(stderr, "XWORKSTAT: x-error cought maj=%d (0x%x) min=%d (0x%x) resource=%x\n", |
234 event->request_code, event->request_code, |
242 event->request_code, event->request_code, |
235 event->minor_code, event->minor_code, event->resourceid); |
243 event->minor_code, event->minor_code, event->resourceid); |