From: Eli Zaretskii Date: Wed, 17 Apr 2002 10:36:37 +0000 (+0000) Subject: (coordinates_in_window): Don't report on margin area if its width is zero. X-Git-Tag: ttn-vms-21-2-B4~15564 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ac431108e389d1cd8661ede968982cdeba955733;p=emacs.git (coordinates_in_window): Don't report on margin area if its width is zero. --- diff --git a/src/ChangeLog b/src/ChangeLog index 3b8778e608f..cb38544455c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-04-17 Eli Zaretskii + + * window.c (coordinates_in_window): Don't report on margin area + if its width is zero. + 2002-04-16 Jason Rumney * w32fns.c (Fx_file_dialog): Decode file name before using. diff --git a/src/window.c b/src/window.c index 21fb9d53e59..e88873528c8 100644 --- a/src/window.c +++ b/src/window.c @@ -534,6 +534,7 @@ coordinates_in_window (w, x, y) /* The width of the area where the vertical line can be dragged. (Between mode lines for instance. */ int grabbable_width = ux; + int lmargin_width = 0, rmargin_width = 0; if (*x < x0 || *x >= x1) return ON_NOTHING; @@ -628,9 +629,14 @@ coordinates_in_window (w, x, y) } else { - if (*x <= window_box_right (w, LEFT_MARGIN_AREA)) + lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); + rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); + /* You can never be on a margin area if its width is zero. */ + if (lmargin_width + && *x <= window_box_right (w, LEFT_MARGIN_AREA)) part = ON_LEFT_MARGIN; - else if (*x >= window_box_left (w, RIGHT_MARGIN_AREA)) + else if (rmargin_width + && *x >= window_box_left (w, RIGHT_MARGIN_AREA)) part = ON_RIGHT_MARGIN; else { @@ -665,9 +671,15 @@ coordinates_in_window (w, x, y) } else { - if (*x <= window_box_right (w, LEFT_MARGIN_AREA)) + lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); + rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); + /* You can never be on a margin area if its width is zero. + This is especially important for character terminals. */ + if (lmargin_width + && *x <= window_box_right (w, LEFT_MARGIN_AREA)) part = ON_LEFT_MARGIN; - else if (*x >= window_box_left (w, RIGHT_MARGIN_AREA)) + else if (rmargin_width + && *x >= window_box_left (w, RIGHT_MARGIN_AREA)) part = ON_RIGHT_MARGIN; else {