Fix recently introduced crash on MS-Windows (Bug#12839).

* w32term.h (struct scroll_bar): Use convenient header.
(SCROLL_BAR_VEC_SIZE): Remove.
* w32term.c (x_scroll_bar_create): Use VECSIZE.
This commit is contained in:
Dmitry Antipov 2012-11-09 18:45:15 +04:00
parent 7d377c482f
commit 535cc8e9fb
3 changed files with 10 additions and 10 deletions

View file

@ -1,3 +1,10 @@
2012-11-09 Dmitry Antipov <dmantipov@yandex.ru>
Fix recently introduced crash on MS-Windows (Bug#12839).
* w32term.h (struct scroll_bar): Use convenient header.
(SCROLL_BAR_VEC_SIZE): Remove.
* w32term.c (x_scroll_bar_create): Use VECSIZE.
2012-11-09 Dmitry Antipov <dmantipov@yandex.ru>
Tweak last vectorlike_header change.

View file

@ -3626,7 +3626,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
HWND hwnd;
SCROLLINFO si;
struct scroll_bar *bar
= XSCROLL_BAR (Fmake_vector (make_number (SCROLL_BAR_VEC_SIZE), Qnil));
= XSCROLL_BAR (Fmake_vector (make_number (VECSIZE (struct scroll_bar)), Qnil));
Lisp_Object barobj;
block_input ();

View file

@ -415,9 +415,8 @@ extern struct w32_output w32term_display;
struct scroll_bar {
/* These fields are shared by all vectors. */
EMACS_INT size_from_Lisp_Vector_struct;
struct Lisp_Vector *next_from_Lisp_Vector_struct;
/* This field is shared by all vectors. */
struct vectorlike_header header;
/* The window we're a scroll bar for. */
Lisp_Object window;
@ -460,12 +459,6 @@ struct scroll_bar {
Lisp_Object fringe_extended_p;
};
/* The number of elements a vector holding a struct scroll_bar needs. */
#define SCROLL_BAR_VEC_SIZE \
((sizeof (struct scroll_bar) \
- sizeof (EMACS_INT) - sizeof (struct Lisp_Vector *)) \
/ word_size)
/* Turning a lisp vector value into a pointer to a struct scroll_bar. */
#define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec))