Mercurial > emacs
comparison src/xterm.c @ 36475:488c4787ec0a
(XTset_vertical_scroll_bar): Don't clear a zero height
or width area.
(XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
a widget to zero height.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 02 Mar 2001 12:04:12 +0000 |
parents | 7fda58b1a204 |
children | da77079d6981 |
comparison
equal
deleted
inserted
replaced
36474:d860a6ae5843 | 36475:488c4787ec0a |
---|---|
8418 if (!NILP (bar->next)) | 8418 if (!NILP (bar->next)) |
8419 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); | 8419 XSETVECTOR (XSCROLL_BAR (bar->next)->prev, bar); |
8420 | 8420 |
8421 /* Map the window/widget. */ | 8421 /* Map the window/widget. */ |
8422 #ifdef USE_TOOLKIT_SCROLL_BARS | 8422 #ifdef USE_TOOLKIT_SCROLL_BARS |
8423 { | 8423 { |
8424 Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar); | 8424 Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar); |
8425 XtConfigureWidget (scroll_bar, | 8425 XtConfigureWidget (scroll_bar, |
8426 left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 8426 left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, |
8427 top, | 8427 top, |
8428 width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | 8428 width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, |
8429 height, 0); | 8429 max (height, 1), 0); |
8430 XtMapWidget (scroll_bar); | 8430 XtMapWidget (scroll_bar); |
8431 } | 8431 } |
8432 #else /* not USE_TOOLKIT_SCROLL_BARS */ | 8432 #else /* not USE_TOOLKIT_SCROLL_BARS */ |
8433 XMapRaised (FRAME_X_DISPLAY (f), SCROLL_BAR_X_WINDOW (bar)); | 8433 XMapRaised (FRAME_X_DISPLAY (f), SCROLL_BAR_X_WINDOW (bar)); |
8434 #endif /* not USE_TOOLKIT_SCROLL_BARS */ | 8434 #endif /* not USE_TOOLKIT_SCROLL_BARS */ |
8435 | 8435 |
8436 UNBLOCK_INPUT; | 8436 UNBLOCK_INPUT; |
8626 | 8626 |
8627 /* Does the scroll bar exist yet? */ | 8627 /* Does the scroll bar exist yet? */ |
8628 if (NILP (w->vertical_scroll_bar)) | 8628 if (NILP (w->vertical_scroll_bar)) |
8629 { | 8629 { |
8630 BLOCK_INPUT; | 8630 BLOCK_INPUT; |
8631 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 8631 if (width && height) |
8632 left, top, width, height, False); | 8632 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
8633 left, top, width, height, False); | |
8633 UNBLOCK_INPUT; | 8634 UNBLOCK_INPUT; |
8634 bar = x_scroll_bar_create (w, top, sb_left, sb_width, height); | 8635 bar = x_scroll_bar_create (w, top, sb_left, sb_width, height); |
8635 } | 8636 } |
8636 else | 8637 else |
8637 { | 8638 { |
8653 | 8654 |
8654 #ifdef USE_TOOLKIT_SCROLL_BARS | 8655 #ifdef USE_TOOLKIT_SCROLL_BARS |
8655 | 8656 |
8656 /* Since toolkit scroll bars are smaller than the space reserved | 8657 /* Since toolkit scroll bars are smaller than the space reserved |
8657 for them on the frame, we have to clear "under" them. */ | 8658 for them on the frame, we have to clear "under" them. */ |
8658 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 8659 if (width && height) |
8659 left, top, width, height, False); | 8660 x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
8661 left, top, width, height, False); | |
8660 | 8662 |
8661 /* Move/size the scroll bar widget. */ | 8663 /* Move/size the scroll bar widget. */ |
8662 if (mask) | 8664 if (mask) |
8663 XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), | 8665 XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar), |
8664 sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, | 8666 sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM, |
8665 top, | 8667 top, |
8666 sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, | 8668 sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2, |
8667 height, 0); | 8669 max (height, 1), 0); |
8668 | 8670 |
8669 #else /* not USE_TOOLKIT_SCROLL_BARS */ | 8671 #else /* not USE_TOOLKIT_SCROLL_BARS */ |
8670 | 8672 |
8671 if (VERTICAL_SCROLL_BAR_WIDTH_TRIM) | 8673 if (VERTICAL_SCROLL_BAR_WIDTH_TRIM) |
8672 { | 8674 { |