bewing wrote:
So, this is a formal test request for my beta version (0.3). The download on this post contains (very easy) instructions for hand-patching the code into bochs -- it should be compatible with any bochs ver 2.3.X -- I hope.
If you patch it into a different version than 2.3.7, I would be esepcially interested to hear how it goes.
The patch applied to CVS very fine (after I changed watchpoints back to be matching your usage).
But I can't compile it under cygwin, get thousands of compilation errors and warnings.
I really wanted to apply this patch into Bochs CVS soon but I just can't until it perfectly compiles under Cygwin and most known MS compilers.
The list of compilation errors on the first stage is:
====== Cut Here ======
In file included from win32dialog.cc:910:
win32_enh_dbg.h: In function `bx_bool AskText(HWND__*, const TCHAR*, TCHAR*, TCHAR*, int)':
win32_enh_dbg.h:312: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h: In function `int DoMatch(const char*, const char*, bx_bool)':
win32_enh_dbg.h:383: warning: array subscript has type `char'
win32_enh_dbg.h: In function `LRESULT LVProc(HWND__*, UINT, WPARAM, LPARAM)':
win32_enh_dbg.h:732: warning: passing NULL used for non-pointer converting 4 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:732: warning: passing NULL used for non-pointer converting 5 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:734: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:734: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:736: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:736: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:738: warning: passing NULL used for non-pointer converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:738: warning: passing NULL used for non-pointer converting 4 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:743: warning: passing NULL used for non-pointer converting 4 of `LRESULT CallWindowProcA(LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM), HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h:763: error: `LVM_SUBITEMHITTEST' undeclared (first use this function)
win32_enh_dbg.h:763: error: (Each undeclared identifier is reported only once for each function it appears in.)
win32_enh_dbg.h:764: error: 'struct LVHITTESTINFO' has no member named 'iSubItem'
win32_enh_dbg.h:765: error: 'struct LVHITTESTINFO' has no member named 'iSubItem'
win32_enh_dbg.h: In function `void upr(char*)':
win32_enh_dbg.h:994: warning: array subscript has type `char'
win32_enh_dbg.h: In function `int FillSSE(int)':
win32_enh_dbg.h
error: expected unqualified-id before '.' token
win32_enh_dbg.h
error: expected unqualified-id before '.' token
win32_enh_dbg.h: At global scope:
win32_enh_dbg.h
warning: malformed '#pragma pack(push[, id], <n>)' - ignored
win32_enh_dbg.h
warning: #pragma pack (pop) encountered without matching #pragma pack (push, <n>)
win32_enh_dbg.h: In function `void MakeRDnames()':
win32_enh_dbg.h
warning: array subscript has type `char'
win32_enh_dbg.h: In function `void SetBreak()':
win32_enh_dbg.h
warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h: In function `LRESULT B_WP(HWND__*, UINT, WPARAM, LPARAM)':
win32_enh_dbg.h
error: `LVM_SETEXTENDEDLISTVIEWSTYLE' undeclared (first use this function)
win32_enh_dbg.h
error: `LVS_EX_FULLROWSELECT' undeclared (first use this function)
win32_enh_dbg.h
warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h
warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h
error: `NMLVKEYDOWN' undeclared (first use this function)
win32_enh_dbg.h
error: `key' undeclared (first use this function)
win32_enh_dbg.h
error: expected primary-expression before ')' token
win32_enh_dbg.h
error: expected `;' before "ll"
win32_enh_dbg.h
warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h
error: `CDDS_PREPAINT' undeclared (first use this function)
win32_enh_dbg.h
error: `CDRF_NOTIFYITEMDRAW' undeclared (first use this function)
win32_enh_dbg.h
error: `CDDS_ITEMPREPAINT' undeclared (first use this function)
win32_enh_dbg.h
warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h
error: `CDRF_NOTIFYSUBITEMDRAW' undeclared (first use this function)
win32_enh_dbg.h
error: `CDDS_SUBITEM' undeclared (first use this function)
win32_enh_dbg.h
error: 'struct tagNMLVCUSTOMDRAW' has no member named 'iSubItem'
win32_enh_dbg.h
error: 'struct tagNMLVCUSTOMDRAW' has no member named 'iSubItem'
win32_enh_dbg.h
warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h
warning: comparison between signed and unsigned integer expressions
win32_enh_dbg.h
warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32_enh_dbg.h
warning: passing negative value `-0x000000001' for converting 3 of `LRESULT SendMessageA(HWND__*, UINT, WPARAM, LPARAM)'
win32dialog.cc: At global scope:
win32dialog.cc:32: warning: 'showCPU' defined but not used
win32dialog.cc:33: warning: 'cpu_param' defined but not used
make[1]: *** [win32dialog.o] Error 1
make: *** [gui/libgui.a] Error 2
====== Cut Here ======
Also I have some general complain about the code - it has too many 'magic constants'.
I prefer usage of defines/enums everywhere. According to my opinion each entry of rV array MUST be accessed using define.
The same for magic switch constants in switch(LW) in WM_COMMAND handle.
Now if you suddenly add some constant in between - it is impossible to understand which values should be where !
But of course the most important - is to pass compilation
Stanislav