Changeset 4023

Show
Ignore:
Timestamp:
2006年02月01日 03時02分58秒 (3 years ago)
Author:
horiguti
Message:

Include winable.h instead of defining types for SendInput?.
Inhibit calling of main thread during delete_frame.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/ChangeLog.Meadow

    r4021 r4023  
     12006-02-01  Kyotaro HORIGUCHI  <horiguti@meadowy.org> 
     2        * mw32term.c: Include winable.h to use SendInput() and related 
     3        types. 
     4        (mw32_set_caret): Don't call main thread when this frame is 
     5        deleted. 
     6        (mw32_free_frame_resources): Set INVALID_HANDLE_VALUE to windows 
     7        descriptor to mark this frame is deleted. 
     8 
     9        * mw32term.h (ULONG_PTR): Delete definition, which is defined in 
     10        winable.h newly included in mw32term.c. 
     11        (PULONG_PTR): Ditto. 
     12        (MOUSEINPUT): Ditto. 
     13        (KEYBDINPUT): Ditto. 
     14        (HARDWAREINPUT): Ditto. 
     15        (INPUT): Ditto. 
     16        (INPUT_MOUSE): Ditto. 
     17        (INPUT_KEYBOARD): Ditto. 
     18        (INPUT_HARDWARE): Ditto. 
     19        (SENDINPUTPUROC): Ditto. 
     20 
    1212006-01-29  MIYOSHI Masanori  <miyoshi@meadowy.org> 
    222 
  • trunk/src/mw32term.c

    r4005 r4023  
    4444#include "mw32sync.h" 
    4545#include <shellapi.h> 
     46#include <winable.h> 
    4647#include "mw32term.h" 
    4748#include "mw32mci.h" 
     
    235236SETLAYEREDWINDOWATTRPROC SetLayeredWindowAttributes = NULL; 
    236237 
     238typedef UINT (WINAPI *SENDINPUTPROC)(UINT, INPUT*, int); 
    237239SENDINPUTPROC SendInputProc = NULL; 
    238240 
     
    494496        } 
    495497    } 
     498 
     499  /* If this function is called during processing delete_frame, Lisp 
     500     frame object is already deleted from frame_list. This condition 
     501     is marked with f->output_data.mw32->window_desc that has a value 
     502     of INVALID_HANDLE_VALUE. */ 
     503  if (f->output_data.mw32->window_desc == INVALID_HANDLE_VALUE) 
     504    return; 
     505 
    496506  if (state == BLOCK_CARET || state == HIDDEN_CARET) 
    497507    ResetEvent (f->output_data.mw32->setcaret_event); 
     
    59205930  free_frame_menubar (f); 
    59215931 
     5932  /* Never call main thread for this frame. */ 
     5933  f->output_data.mw32->window_desc = INVALID_HANDLE_VALUE; 
     5934 
    59225935  if (FRAME_FACE_CACHE (f)) 
    59235936    free_frame_faces (f); 
  • trunk/src/mw32term.h

    r4012 r4023  
    12921292#endif 
    12931293 
    1294 #if defined(_MSC_VER) && _MSC_VER <= 1200 
    1295 typedef unsigned long ULONG_PTR, *PULONG_PTR; 
    1296 #endif 
    1297  
    1298 typedef struct{ 
    1299   LONG    dx; 
    1300   LONG    dy; 
    1301   DWORD   mouseData; 
    1302   DWORD   dwFlags; 
    1303   DWORD   time; 
    1304   ULONG_PTR dwExtraInfo; 
    1305 } MOUSEINPUT; 
    1306  
    1307 typedef struct { 
    1308   WORD    wVk; 
    1309   WORD    wScan; 
    1310   DWORD   dwFlags; 
    1311   DWORD   time; 
    1312   ULONG_PTR dwExtraInfo; 
    1313 } KEYBDINPUT; 
    1314  
    1315 typedef struct { 
    1316   DWORD   uMsg; 
    1317   WORD    wParamL; 
    1318   WORD    wParamH; 
    1319 } HARDWAREINPUT; 
    1320  
    1321 #define INPUT_MOUSE     0 
    1322 #define INPUT_KEYBOARD  1 
    1323 #define INPUT_HARDWARE  2 
    1324  
    1325 typedef struct { 
    1326   DWORD   type; 
    1327   union 
    1328   { 
    1329     MOUSEINPUT      mi; 
    1330     KEYBDINPUT      ki; 
    1331     HARDWAREINPUT   hi; 
    1332   }; 
    1333 } INPUT; 
    1334  
    1335 typedef UINT (WINAPI *SENDINPUTPROC)(UINT, INPUT*, int); 
    1336  
    13371294#endif /* not _MW32TERM_H_ */