aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2000-11-19 00:29:46 +0000
committerGerd Moellmann <[email protected]>2000-11-19 00:29:46 +0000
commite83dc917584709b073d746920ba2a5ce52743b52 (patch)
tree55d7cab3905d9c0c2fceef1ac0df94e5ce58d61c /src
parentae4a31d9c4c705074f6a179146053b76bb1ed95c (diff)
(x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
(x_scroll_bar_remove, XTset_vertical_scroll_bar): Call SCROLL_BAR_X_WIDGET with addtional argument DPY.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog12
-rw-r--r--src/xterm.c24
2 files changed, 25 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2ac749849c..cc651536d5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,17 @@
2000-11-19 Gerd Moellmann <[email protected]>
+ * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
+ (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
+ SCROLL_BAR_X_WIDGET with addtional argument DPY.
+
+ * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
+ removed.
+ (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
+ Take the X display as additional argument.
+ (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
+ `Widget' is a pointer type that's not easily stored in Lisp_Object
+ form in a portable way.
+
* dispnew.c (update_text_area): Fix last change.
2000-11-18 Gerd Moellmann <[email protected]>
diff --git a/src/xterm.c b/src/xterm.c
index ec7f6b16d0..dadc6405d2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8127,8 +8127,9 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole)
struct scroll_bar *bar;
int portion, position, whole;
{
+ struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
+ Widget widget = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar);
float top, shown;
- Widget widget = SCROLL_BAR_X_WIDGET (bar);
if (whole == 0)
top = 0, shown = 1;
@@ -8339,12 +8340,15 @@ x_scroll_bar_create (w, top, left, width, height)
/* Map the window/widget. */
#if USE_TOOLKIT_SCROLL_BARS
- XtConfigureWidget (SCROLL_BAR_X_WIDGET (bar),
+ {
+ Widget scroll_bar = SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar);
+ XtConfigureWidget (scroll_bar,
left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
top,
width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,
height, 0);
- XtMapWidget (SCROLL_BAR_X_WIDGET (bar));
+ XtMapWidget (scroll_bar);
+ }
#else /* not USE_TOOLKIT_SCROLL_BARS */
XMapRaised (FRAME_X_DISPLAY (f), SCROLL_BAR_X_WINDOW (bar));
#endif /* not USE_TOOLKIT_SCROLL_BARS */
@@ -8477,16 +8481,14 @@ static void
x_scroll_bar_remove (bar)
struct scroll_bar *bar;
{
+ struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
BLOCK_INPUT;
#if USE_TOOLKIT_SCROLL_BARS
- XtDestroyWidget (SCROLL_BAR_X_WIDGET (bar));
-#else /* not USE_TOOLKIT_SCROLL_BARS */
- {
- FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
- XDestroyWindow (FRAME_X_DISPLAY (f), SCROLL_BAR_X_WINDOW (bar));
- }
-#endif /* not USE_TOOLKIT_SCROLL_BARS */
+ XtDestroyWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar));
+#else
+ XDestroyWindow (FRAME_X_DISPLAY (f), SCROLL_BAR_X_WINDOW (bar));
+#endif
/* Disassociate this scroll bar from its window. */
XWINDOW (bar->window)->vertical_scroll_bar = Qnil;
@@ -8580,7 +8582,7 @@ XTset_vertical_scroll_bar (w, portion, whole, position)
/* Move/size the scroll bar widget. */
if (mask)
- XtConfigureWidget (SCROLL_BAR_X_WIDGET (bar),
+ XtConfigureWidget (SCROLL_BAR_X_WIDGET (FRAME_X_DISPLAY (f), bar),
sb_left + VERTICAL_SCROLL_BAR_WIDTH_TRIM,
top,
sb_width - VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2,