… | |
… | |
1034 | |
1034 | |
1035 | void |
1035 | void |
1036 | rxvt_term::flush () |
1036 | rxvt_term::flush () |
1037 | { |
1037 | { |
1038 | flush_ev.stop (); |
1038 | flush_ev.stop (); |
|
|
1039 | |
|
|
1040 | #ifdef HAVE_BG_PIXMAP |
|
|
1041 | if (bgPixmap.check_clearChanged ()) |
|
|
1042 | { |
|
|
1043 | scr_clear (true); |
|
|
1044 | scr_touch (false); |
|
|
1045 | } |
|
|
1046 | #endif |
1039 | |
1047 | |
1040 | if (want_refresh) |
1048 | if (want_refresh) |
1041 | { |
1049 | { |
1042 | if (SHOULD_INVOKE (HOOK_LINE_UPDATE)) |
1050 | if (SHOULD_INVOKE (HOOK_LINE_UPDATE)) |
1043 | { |
1051 | { |
… | |
… | |
1466 | && ev.xfocus.mode != NotifyGrab) |
1474 | && ev.xfocus.mode != NotifyGrab) |
1467 | focus_out (); |
1475 | focus_out (); |
1468 | break; |
1476 | break; |
1469 | |
1477 | |
1470 | case ConfigureNotify: |
1478 | case ConfigureNotify: |
1471 | /* fprintf (stderr, "ConfigureNotify for %X, parent is %X, geom is %dx%d%+d%+d, old geom was %dx%d\n", |
1479 | /* fprintf (stderr, "ConfigureNotify for %X, parent is %X, geom is %dx%d%+d%+d, old geom was %dx%d\n", |
1472 | ev.xconfigure.window, parent[0], ev.xconfigure.width, ev.xconfigure.height, ev.xconfigure.x, ev.xconfigure.y, |
1480 | ev.xconfigure.window, parent[0], ev.xconfigure.width, ev.xconfigure.height, ev.xconfigure.x, ev.xconfigure.y, |
1473 | szHint.width, szHint.height);*/ |
1481 | szHint.width, szHint.height); */ |
1474 | if (ev.xconfigure.window == parent[0]) |
1482 | if (ev.xconfigure.window == parent[0]) |
1475 | { |
1483 | { |
1476 | while (XCheckTypedWindowEvent (dpy, ev.xconfigure.window, ConfigureNotify, &ev)) |
1484 | while (XCheckTypedWindowEvent (dpy, ev.xconfigure.window, ConfigureNotify, &ev)) |
1477 | ; |
1485 | ; |
1478 | |
1486 | |
… | |
… | |
1532 | case GraphicsExpose: |
1540 | case GraphicsExpose: |
1533 | case Expose: |
1541 | case Expose: |
1534 | if (ev.xany.window == vt) |
1542 | if (ev.xany.window == vt) |
1535 | { |
1543 | { |
1536 | do |
1544 | do |
|
|
1545 | { |
1537 | scr_expose (ev.xexpose.x, ev.xexpose.y, |
1546 | scr_expose (ev.xexpose.x, ev.xexpose.y, |
1538 | ev.xexpose.width, ev.xexpose.height, False); |
1547 | ev.xexpose.width, ev.xexpose.height, False); |
|
|
1548 | } |
1539 | while (XCheckTypedWindowEvent (dpy, vt, ev.xany.type, &ev)); |
1549 | while (XCheckTypedWindowEvent (dpy, vt, ev.xany.type, &ev)); |
1540 | |
1550 | |
1541 | ev.xany.type = ev.xany.type == Expose ? GraphicsExpose : Expose; |
1551 | ev.xany.type = ev.xany.type == Expose ? GraphicsExpose : Expose; |
1542 | |
1552 | |
1543 | while (XCheckTypedWindowEvent (dpy, vt, ev.xany.type, &ev)) |
1553 | while (XCheckTypedWindowEvent (dpy, vt, ev.xany.type, &ev)) |
|
|
1554 | { |
1544 | scr_expose (ev.xexpose.x, ev.xexpose.y, |
1555 | scr_expose (ev.xexpose.x, ev.xexpose.y, |
1545 | ev.xexpose.width, ev.xexpose.height, False); |
1556 | ev.xexpose.width, ev.xexpose.height, False); |
1546 | |
1557 | } |
1547 | want_refresh = 1; |
1558 | want_refresh = 1; |
1548 | } |
1559 | } |
1549 | else |
1560 | else |
1550 | { |
1561 | { |
1551 | XEvent unused_event; |
1562 | XEvent unused_event; |
… | |
… | |
1729 | } |
1740 | } |
1730 | #endif |
1741 | #endif |
1731 | #if ENABLE_FRILLS |
1742 | #if ENABLE_FRILLS |
1732 | if (option (Opt_urgentOnBell)) |
1743 | if (option (Opt_urgentOnBell)) |
1733 | { |
1744 | { |
1734 | XWMHints *h; |
|
|
1735 | |
|
|
1736 | h = XGetWMHints(dpy, parent[0]); |
1745 | if (XWMHints *h = XGetWMHints(dpy, parent[0])) |
1737 | if (h != NULL) |
|
|
1738 | { |
1746 | { |
1739 | h->flags &= ~XUrgencyHint; |
1747 | h->flags &= ~XUrgencyHint; |
1740 | XSetWMHints(dpy, parent[0], h); |
1748 | XSetWMHints (dpy, parent[0], h); |
1741 | } |
1749 | } |
1742 | } |
1750 | } |
1743 | #endif |
1751 | #endif |
1744 | } |
1752 | } |
1745 | } |
1753 | } |
… | |
… | |
3994 | |
4002 | |
3995 | if (v_buflen == 0) |
4003 | if (v_buflen == 0) |
3996 | { |
4004 | { |
3997 | free (v_buffer); |
4005 | free (v_buffer); |
3998 | v_buffer = 0; |
4006 | v_buffer = 0; |
3999 | v_buflen = 0; |
|
|
4000 | |
4007 | |
4001 | pty_ev.set (EVENT_READ); |
4008 | pty_ev.set (EVENT_READ); |
4002 | return; |
4009 | return; |
4003 | } |
4010 | } |
4004 | |
4011 | |