diff options
| -rw-r--r-- | src/w32term.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/w32term.c b/src/w32term.c index e7254122360..34045bf6ea4 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -55,6 +55,8 @@ Boston, MA 02111-1307, USA. */ | |||
| 55 | #define min(x, y) (((x) < (y)) ? (x) : (y)) | 55 | #define min(x, y) (((x) < (y)) ? (x) : (y)) |
| 56 | #define max(x, y) (((x) > (y)) ? (x) : (y)) | 56 | #define max(x, y) (((x) > (y)) ? (x) : (y)) |
| 57 | 57 | ||
| 58 | extern unsigned int msh_mousewheel; | ||
| 59 | |||
| 58 | extern void free_frame_menubar (); | 60 | extern void free_frame_menubar (); |
| 59 | 61 | ||
| 60 | extern Lisp_Object Vwindow_system; | 62 | extern Lisp_Object Vwindow_system; |
| @@ -3205,6 +3207,31 @@ w32_read_socket (sd, bufp, numchars, expected) | |||
| 3205 | 3207 | ||
| 3206 | check_visibility = 1; | 3208 | check_visibility = 1; |
| 3207 | break; | 3209 | break; |
| 3210 | |||
| 3211 | default: | ||
| 3212 | /* Check for messages registered at runtime. */ | ||
| 3213 | if (msg.msg.message == msh_mousewheel) | ||
| 3214 | { | ||
| 3215 | if (dpyinfo->grabbed && last_mouse_frame | ||
| 3216 | && FRAME_LIVE_P (last_mouse_frame)) | ||
| 3217 | f = last_mouse_frame; | ||
| 3218 | else | ||
| 3219 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | ||
| 3220 | |||
| 3221 | if (f) | ||
| 3222 | { | ||
| 3223 | if ((!dpyinfo->w32_focus_frame | ||
| 3224 | || f == dpyinfo->w32_focus_frame) | ||
| 3225 | && (numchars >= 1)) | ||
| 3226 | { | ||
| 3227 | construct_mouse_wheel (bufp, &msg, f); | ||
| 3228 | bufp++; | ||
| 3229 | count++; | ||
| 3230 | numchars--; | ||
| 3231 | } | ||
| 3232 | } | ||
| 3233 | } | ||
| 3234 | break; | ||
| 3208 | } | 3235 | } |
| 3209 | } | 3236 | } |
| 3210 | 3237 | ||