- clarify many error messages
- add data corruption warning to README file
This commit is contained in:
parent
5079844bc6
commit
a6d83ebae1
6
README
6
README
|
@ -131,6 +131,12 @@ information on how to do this, please read the file documentation/debugging.
|
||||||
If you post a bug report, please read the file documentation/bugreports to
|
If you post a bug report, please read the file documentation/bugreports to
|
||||||
see what information is required.
|
see what information is required.
|
||||||
|
|
||||||
|
You should backup all your important files that you give Wine access
|
||||||
|
to, or use a special Wine copy of them, as there have been some cases
|
||||||
|
of users reporting file corruption. Do NOT run Explorer, for instance,
|
||||||
|
if you don't have a proper backup, as it renames/cripples several
|
||||||
|
directories sometimes.
|
||||||
|
|
||||||
|
|
||||||
7. GETTING MORE INFORMATION
|
7. GETTING MORE INFORMATION
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
/* When creating new drivers, you need to assign all the functions that
|
/* When creating new drivers, you need to assign all the functions that
|
||||||
that driver supports into the driver struct. If it is a supplementary
|
that driver supports into the driver struct. If it is a supplementary
|
||||||
driver, it should make sure to perserve the old values. */
|
driver, it should make sure to preserve the old values. */
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "wine/winbase16.h"
|
#include "wine/winbase16.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
|
#include "wine/port.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "heap.h"
|
#include "heap.h"
|
||||||
|
@ -342,7 +343,7 @@ static WND *MENU_GetTopPopupWnd()
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* MENU_ReleaseTopPopupWnd()
|
* MENU_ReleaseTopPopupWnd()
|
||||||
*
|
*
|
||||||
* Realease the locked pointer pTopPopupWnd.
|
* Release the locked pointer pTopPopupWnd.
|
||||||
*/
|
*/
|
||||||
static void MENU_ReleaseTopPopupWnd()
|
static void MENU_ReleaseTopPopupWnd()
|
||||||
{
|
{
|
||||||
|
@ -366,10 +367,10 @@ static void MENU_DestroyTopPopupWnd()
|
||||||
* MENU_GetSysMenu
|
* MENU_GetSysMenu
|
||||||
*
|
*
|
||||||
* Create a copy of the system menu. System menu in Windows is
|
* Create a copy of the system menu. System menu in Windows is
|
||||||
* a special menu-bar with the single entry - system menu popup.
|
* a special menu bar with the single entry - system menu popup.
|
||||||
* This popup is presented to the outside world as a "system menu".
|
* This popup is presented to the outside world as a "system menu".
|
||||||
* However, the real system menu handle is sometimes seen in the
|
* However, the real system menu handle is sometimes seen in the
|
||||||
* WM_MENUSELECT paramemters (and Word 6 likes it this way).
|
* WM_MENUSELECT parameters (and Word 6 likes it this way).
|
||||||
*/
|
*/
|
||||||
HMENU MENU_GetSysMenu( HWND hWnd, HMENU hPopupMenu )
|
HMENU MENU_GetSysMenu( HWND hWnd, HMENU hPopupMenu )
|
||||||
{
|
{
|
||||||
|
@ -440,7 +441,7 @@ BOOL MENU_Init()
|
||||||
} else
|
} else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Assume that radio checks have the same size as regular check. */
|
/* Assume that radio checks have the same size as regular checks. */
|
||||||
if (!hStdRadioCheck)
|
if (!hStdRadioCheck)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
@ -1326,7 +1327,7 @@ static void MENU_DrawMenuItem( HWND hwnd, HMENU hmenu, HWND hwndOwner, HDC hdc,
|
||||||
|
|
||||||
SelectObject(hdcMem,resBmp );
|
SelectObject(hdcMem,resBmp );
|
||||||
|
|
||||||
/* handle fontsize > bitmap_height */
|
/* handle fontsize > bitmap_height */
|
||||||
top = ((rect.bottom-rect.top)>bm.bmHeight) ?
|
top = ((rect.bottom-rect.top)>bm.bmHeight) ?
|
||||||
rect.top+(rect.bottom-rect.top-bm.bmHeight)/2 : rect.top;
|
rect.top+(rect.bottom-rect.top-bm.bmHeight)/2 : rect.top;
|
||||||
|
|
||||||
|
@ -1641,7 +1642,7 @@ static BOOL MENU_ShowPopup( HWND hwndOwner, HMENU hmenu, UINT id,
|
||||||
menu->FocusedItem = NO_SELECTED_ITEM;
|
menu->FocusedItem = NO_SELECTED_ITEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* store the owner for DrawItem*/
|
/* store the owner for DrawItem */
|
||||||
menu->hwndOwner = hwndOwner;
|
menu->hwndOwner = hwndOwner;
|
||||||
|
|
||||||
if( (wndOwner = WIN_FindWndPtr( hwndOwner )) )
|
if( (wndOwner = WIN_FindWndPtr( hwndOwner )) )
|
||||||
|
@ -1961,7 +1962,7 @@ static MENUITEM *MENU_InsertItem( HMENU hMenu, UINT pos, UINT flags )
|
||||||
}
|
}
|
||||||
if (menu->nItems > 0)
|
if (menu->nItems > 0)
|
||||||
{
|
{
|
||||||
/* Copy the old array into the new */
|
/* Copy the old array into the new one */
|
||||||
if (pos > 0) memcpy( newItems, menu->items, pos * sizeof(MENUITEM) );
|
if (pos > 0) memcpy( newItems, menu->items, pos * sizeof(MENUITEM) );
|
||||||
if (pos < menu->nItems) memcpy( &newItems[pos+1], &menu->items[pos],
|
if (pos < menu->nItems) memcpy( &newItems[pos+1], &menu->items[pos],
|
||||||
(menu->nItems-pos)*sizeof(MENUITEM) );
|
(menu->nItems-pos)*sizeof(MENUITEM) );
|
||||||
|
@ -2178,8 +2179,8 @@ static HMENU MENU_ShowSubPopup( HWND hwndOwner, HMENU hmenu,
|
||||||
return hmenu;
|
return hmenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* message must be send before using item,
|
/* message must be sent before using item,
|
||||||
because nearly everything may by changed by the application ! */
|
because nearly everything may be changed by the application ! */
|
||||||
|
|
||||||
/* Send WM_INITMENUPOPUP message only if TPM_NONOTIFY flag is not specified */
|
/* Send WM_INITMENUPOPUP message only if TPM_NONOTIFY flag is not specified */
|
||||||
if (!(wFlags & TPM_NONOTIFY))
|
if (!(wFlags & TPM_NONOTIFY))
|
||||||
|
@ -2189,7 +2190,7 @@ static HMENU MENU_ShowSubPopup( HWND hwndOwner, HMENU hmenu,
|
||||||
item = &menu->items[menu->FocusedItem];
|
item = &menu->items[menu->FocusedItem];
|
||||||
rect = item->rect;
|
rect = item->rect;
|
||||||
|
|
||||||
/* correct item if modified as a reaction to WM_INITMENUPOPUP-message */
|
/* correct item if modified as a reaction to WM_INITMENUPOPUP message */
|
||||||
if (!(item->fState & MF_HILITE))
|
if (!(item->fState & MF_HILITE))
|
||||||
{
|
{
|
||||||
if (menu->wFlags & MF_POPUP) hdc = GetDC( menu->hWnd );
|
if (menu->wFlags & MF_POPUP) hdc = GetDC( menu->hWnd );
|
||||||
|
@ -2388,7 +2389,7 @@ static BOOL MENU_ButtonDown( MTRACKER* pmt, HMENU hPtMenu, UINT wFlags )
|
||||||
{
|
{
|
||||||
pmt->hCurrentMenu = MENU_ShowSubPopup( pmt->hOwnerWnd, hPtMenu, FALSE, wFlags );
|
pmt->hCurrentMenu = MENU_ShowSubPopup( pmt->hOwnerWnd, hPtMenu, FALSE, wFlags );
|
||||||
|
|
||||||
/* In win31, a newly popped menu always remain opened for the next buttonup */
|
/* In win31, a newly popped menu always remains opened for the next buttonup */
|
||||||
if(TWEAK_WineLook == WIN31_LOOK)
|
if(TWEAK_WineLook == WIN31_LOOK)
|
||||||
ptmenu->bTimeToHide = FALSE;
|
ptmenu->bTimeToHide = FALSE;
|
||||||
}
|
}
|
||||||
|
@ -2428,9 +2429,9 @@ static INT MENU_ButtonUp( MTRACKER* pmt, HMENU hPtMenu, UINT wFlags)
|
||||||
if( !(item->fType & MF_POPUP) )
|
if( !(item->fType & MF_POPUP) )
|
||||||
return MENU_ExecFocusedItem( pmt, hPtMenu, wFlags);
|
return MENU_ExecFocusedItem( pmt, hPtMenu, wFlags);
|
||||||
|
|
||||||
/* If we are dealing with the top-level menu and that this */
|
/* If we are dealing with the top-level menu */
|
||||||
/* is a click on an already "poppped" item */
|
/* and this is a click on an already "popped" item: */
|
||||||
/* Stop the menu tracking and close the opened submenus */
|
/* Stop the menu tracking and close the opened submenus */
|
||||||
if((pmt->hTopMenu == hPtMenu) && (ptmenu->bTimeToHide == TRUE))
|
if((pmt->hTopMenu == hPtMenu) && (ptmenu->bTimeToHide == TRUE))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2546,8 +2547,8 @@ static LRESULT MENU_DoNextMenu( MTRACKER* pmt, UINT vk )
|
||||||
}
|
}
|
||||||
else if( wndPtr->dwStyle & WS_CHILD || wndPtr->wIDmenu != hNewMenu )
|
else if( wndPtr->dwStyle & WS_CHILD || wndPtr->wIDmenu != hNewMenu )
|
||||||
{
|
{
|
||||||
/* FIXME: Not sure what to do here, perhaps,
|
/* FIXME: Not sure what to do here;
|
||||||
* try to track hNewMenu as a popup? */
|
* perhaps try to track hNewMenu as a popup? */
|
||||||
|
|
||||||
TRACE(" -- got confused.\n");
|
TRACE(" -- got confused.\n");
|
||||||
WIN_ReleaseWndPtr(wndPtr);
|
WIN_ReleaseWndPtr(wndPtr);
|
||||||
|
|
|
@ -190,7 +190,7 @@ COMCTL32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
* hMainMenu [I] handle to the application's main menu
|
* hMainMenu [I] handle to the application's main menu
|
||||||
* hInst [I] handle to the module that contains string resources
|
* hInst [I] handle to the module that contains string resources
|
||||||
* hwndStatus [I] handle to the status bar window
|
* hwndStatus [I] handle to the status bar window
|
||||||
* lpwIDs [I] pointer to an array of intergers (see NOTES)
|
* lpwIDs [I] pointer to an array of integers (see NOTES)
|
||||||
*
|
*
|
||||||
* RETURNS
|
* RETURNS
|
||||||
* No return value
|
* No return value
|
||||||
|
|
|
@ -1472,7 +1472,7 @@ static void PROPSHEET_PressButton(HWND hwndDlg, int buttonID)
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* BOOL PROPSHEET_CanSetCurSel [Internal]
|
* BOOL PROPSHEET_CanSetCurSel [Internal]
|
||||||
*
|
*
|
||||||
* Test weither the current page can be changed by sending a PSN_KILLACTIVE
|
* Test whether the current page can be changed by sending a PSN_KILLACTIVE
|
||||||
*
|
*
|
||||||
* PARAMS
|
* PARAMS
|
||||||
* hwndDlg [I] handle to a Dialog hWnd
|
* hwndDlg [I] handle to a Dialog hWnd
|
||||||
|
|
|
@ -2453,7 +2453,7 @@ TAB_GetItemA (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||||
if ((iItem<0) || (iItem>=infoPtr->uNumItem))
|
if ((iItem<0) || (iItem>=infoPtr->uNumItem))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
wineItem=& infoPtr->items[iItem];
|
wineItem = &infoPtr->items[iItem];
|
||||||
|
|
||||||
if (tabItem->mask & TCIF_IMAGE)
|
if (tabItem->mask & TCIF_IMAGE)
|
||||||
tabItem->iImage = wineItem->iImage;
|
tabItem->iImage = wineItem->iImage;
|
||||||
|
|
|
@ -92,7 +92,7 @@ DEFAULT_DEBUG_CHANNEL(comm);
|
||||||
#define MAX_PORTS 9
|
#define MAX_PORTS 9
|
||||||
|
|
||||||
struct DosDeviceStruct {
|
struct DosDeviceStruct {
|
||||||
char *devicename; /* /dev/cua1 */
|
char *devicename; /* /dev/ttyS0 */
|
||||||
int fd;
|
int fd;
|
||||||
int suspended;
|
int suspended;
|
||||||
int unget,xmit;
|
int unget,xmit;
|
||||||
|
@ -392,7 +392,7 @@ BOOL16 WINAPI BuildCommDCB16(LPCSTR device, LPDCB16 lpdcb)
|
||||||
|
|
||||||
|
|
||||||
if (port-- == 0) {
|
if (port-- == 0) {
|
||||||
ERR("BUG ! COM0 can't exist!.\n");
|
ERR("BUG ! COM0 can't exist!\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -790,7 +790,7 @@ INT16 WINAPI GetCommError16(INT16 cid,LPCOMSTAT16 lpStat)
|
||||||
unsigned int mstat;
|
unsigned int mstat;
|
||||||
|
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (cid&FLAG_LPT) {
|
if (cid&FLAG_LPT) {
|
||||||
|
@ -833,7 +833,7 @@ SEGPTR WINAPI SetCommEventMask16(INT16 cid,UINT16 fuEvtMask)
|
||||||
|
|
||||||
TRACE("cid %d,mask %d\n",cid,fuEvtMask);
|
TRACE("cid %d,mask %d\n",cid,fuEvtMask);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return (SEGPTR)NULL;
|
return (SEGPTR)NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -863,7 +863,7 @@ UINT16 WINAPI GetCommEventMask16(INT16 cid,UINT16 fnEvtClear)
|
||||||
|
|
||||||
TRACE("cid %d, mask %d\n", cid, fnEvtClear);
|
TRACE("cid %d, mask %d\n", cid, fnEvtClear);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -889,7 +889,7 @@ INT16 WINAPI SetCommState16(LPDCB16 lpdcb)
|
||||||
|
|
||||||
TRACE("cid %d, ptr %p\n", lpdcb->Id, lpdcb);
|
TRACE("cid %d, ptr %p\n", lpdcb->Id, lpdcb);
|
||||||
if ((ptr = GetDeviceStruct(lpdcb->Id)) == NULL) {
|
if ((ptr = GetDeviceStruct(lpdcb->Id)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",lpdcb->Id);
|
FIXME("no handle for cid = %0x!\n",lpdcb->Id);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (tcgetattr(ptr->fd, &port) == -1) {
|
if (tcgetattr(ptr->fd, &port) == -1) {
|
||||||
|
@ -1145,7 +1145,7 @@ INT16 WINAPI GetCommState16(INT16 cid, LPDCB16 lpdcb)
|
||||||
|
|
||||||
TRACE("cid %d, ptr %p\n", cid, lpdcb);
|
TRACE("cid %d, ptr %p\n", cid, lpdcb);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (tcgetattr(ptr->fd, &port) == -1) {
|
if (tcgetattr(ptr->fd, &port) == -1) {
|
||||||
|
@ -1301,7 +1301,7 @@ INT16 WINAPI TransmitCommChar16(INT16 cid,CHAR chTransmit)
|
||||||
|
|
||||||
TRACE("cid %d, data %d \n", cid, chTransmit);
|
TRACE("cid %d, data %d \n", cid, chTransmit);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1343,7 +1343,7 @@ INT16 WINAPI UngetCommChar16(INT16 cid,CHAR chUnget)
|
||||||
|
|
||||||
TRACE("cid %d (char %d)\n", cid, chUnget);
|
TRACE("cid %d (char %d)\n", cid, chUnget);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1376,7 +1376,7 @@ INT16 WINAPI ReadComm16(INT16 cid,LPSTR lpvBuf,INT16 cbRead)
|
||||||
|
|
||||||
TRACE("cid %d, ptr %p, length %d\n", cid, lpvBuf, cbRead);
|
TRACE("cid %d, ptr %p, length %d\n", cid, lpvBuf, cbRead);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1426,7 +1426,7 @@ INT16 WINAPI WriteComm16(INT16 cid, LPSTR lpvBuf, INT16 cbWrite)
|
||||||
TRACE("cid %d, ptr %p, length %d\n",
|
TRACE("cid %d, ptr %p, length %d\n",
|
||||||
cid, lpvBuf, cbWrite);
|
cid, lpvBuf, cbWrite);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1477,7 +1477,7 @@ BOOL16 WINAPI EnableCommNotification16( INT16 cid, HWND16 hwnd,
|
||||||
|
|
||||||
TRACE("(%d, %x, %d, %d)\n", cid, hwnd, cbWriteNotify, cbOutQueue);
|
TRACE("(%d, %x, %d, %d)\n", cid, hwnd, cbWriteNotify, cbOutQueue);
|
||||||
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
if ((ptr = GetDeviceStruct(cid)) == NULL) {
|
||||||
FIXME("no handle for cid = %0x!.\n",cid);
|
FIXME("no handle for cid = %0x!\n",cid);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ptr->wnd = hwnd;
|
ptr->wnd = hwnd;
|
||||||
|
@ -1529,7 +1529,7 @@ BOOL WINAPI BuildCommDCBAndTimeoutsA(
|
||||||
if (!strncasecmp(device,"COM",3)) {
|
if (!strncasecmp(device,"COM",3)) {
|
||||||
port=device[3]-'0';
|
port=device[3]-'0';
|
||||||
if (port--==0) {
|
if (port--==0) {
|
||||||
ERR("BUG! COM0 can't exists!.\n");
|
ERR("BUG! COM0 can't exist!\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (!ValidCOMPort(port))
|
if (!ValidCOMPort(port))
|
||||||
|
|
|
@ -86,7 +86,7 @@ static BOOL MMDRV_GetDescription16(const char* fname, char* buf, int buflen)
|
||||||
BOOL ret = FALSE;
|
BOOL ret = FALSE;
|
||||||
|
|
||||||
if ((hFile = OpenFile(fname, &ofs, OF_READ | OF_SHARE_DENY_WRITE)) == HFILE_ERROR) {
|
if ((hFile = OpenFile(fname, &ofs, OF_READ | OF_SHARE_DENY_WRITE)) == HFILE_ERROR) {
|
||||||
ERR("Can't open file %s\n", fname);
|
ERR("Can't open file %s (builtin driver ?)\n", fname);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,12 +101,12 @@ int DIR_Init(void)
|
||||||
{
|
{
|
||||||
if (errno==EACCES)
|
if (errno==EACCES)
|
||||||
{
|
{
|
||||||
MESSAGE("Warning: The Temporary Directory (as specified in your configuration file) is NOT writeable.\n");
|
MESSAGE("Warning: the temporary directory '%s' (specified in wine configuration file) is not writeable.\n", tmp_dir.long_name);
|
||||||
PROFILE_UsageWineIni();
|
PROFILE_UsageWineIni();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
MESSAGE("Warning: Access to Temporary Directory failed (%s).\n",
|
MESSAGE("Warning: access to temporary directory '%s' failed (%s).\n",
|
||||||
strerror(errno));
|
tmp_dir.long_name, strerror(errno));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (drive == -1)
|
if (drive == -1)
|
||||||
|
|
|
@ -168,8 +168,8 @@ int DRIVE_Init(void)
|
||||||
|
|
||||||
if (stat( path, &drive_stat_buffer ))
|
if (stat( path, &drive_stat_buffer ))
|
||||||
{
|
{
|
||||||
MESSAGE("Could not stat %s, ignoring drive %c: %s\n",
|
MESSAGE("Could not stat %s (%s), ignoring drive %c:\n",
|
||||||
path, 'A' + i, strerror(errno));
|
path, strerror(errno), 'A' + i);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!S_ISDIR(drive_stat_buffer.st_mode))
|
if (!S_ISDIR(drive_stat_buffer.st_mode))
|
||||||
|
|
|
@ -523,7 +523,7 @@ static int server_connect( const char *oldcwd, const char *serverdir )
|
||||||
close( s );
|
close( s );
|
||||||
}
|
}
|
||||||
fatal_error( "file '%s/%s' exists,\n"
|
fatal_error( "file '%s/%s' exists,\n"
|
||||||
" but I cannot connect to it; maybe the server has crashed?\n"
|
" but I cannot connect to it; maybe the wineserver has crashed?\n"
|
||||||
" If this is the case, you should remove this socket file and try again.\n",
|
" If this is the case, you should remove this socket file and try again.\n",
|
||||||
serverdir, SOCKETNAME );
|
serverdir, SOCKETNAME );
|
||||||
}
|
}
|
||||||
|
@ -627,7 +627,7 @@ int CLIENT_InitThread(void)
|
||||||
if (req->version != SERVER_PROTOCOL_VERSION)
|
if (req->version != SERVER_PROTOCOL_VERSION)
|
||||||
server_protocol_error( "version mismatch %d/%d.\n"
|
server_protocol_error( "version mismatch %d/%d.\n"
|
||||||
"Your %s binary was not upgraded correctly,\n"
|
"Your %s binary was not upgraded correctly,\n"
|
||||||
"or you have an older one somewhere in your PATH.\n",
|
"or you have an older one somewhere in your PATH.\nOr maybe wrong wineserver still running ?",
|
||||||
req->version, SERVER_PROTOCOL_VERSION,
|
req->version, SERVER_PROTOCOL_VERSION,
|
||||||
(req->version > SERVER_PROTOCOL_VERSION) ? "wine" : "wineserver" );
|
(req->version > SERVER_PROTOCOL_VERSION) ? "wine" : "wineserver" );
|
||||||
if (req->boot) boot_thread_id = teb->tid;
|
if (req->boot) boot_thread_id = teb->tid;
|
||||||
|
|
|
@ -1132,7 +1132,10 @@ DWORD WINAPI GetProcessVersion( DWORD processid )
|
||||||
IMAGE_NT_HEADERS *nt;
|
IMAGE_NT_HEADERS *nt;
|
||||||
|
|
||||||
if (processid && processid != GetCurrentProcessId())
|
if (processid && processid != GetCurrentProcessId())
|
||||||
return 0; /* FIXME: should use ReadProcessMemory */
|
{
|
||||||
|
FIXME("should use ReadProcessMemory\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if ((nt = RtlImageNtHeader( current_process.module )))
|
if ((nt = RtlImageNtHeader( current_process.module )))
|
||||||
return ((nt->OptionalHeader.MajorSubsystemVersion << 16) |
|
return ((nt->OptionalHeader.MajorSubsystemVersion << 16) |
|
||||||
nt->OptionalHeader.MinorSubsystemVersion);
|
nt->OptionalHeader.MinorSubsystemVersion);
|
||||||
|
|
|
@ -574,7 +574,7 @@ BOOL WINAPI FreeConsole(VOID)
|
||||||
* This makes simple commandline tools pipeable, while complex commandline
|
* This makes simple commandline tools pipeable, while complex commandline
|
||||||
* tools work without getting messed up by debugoutput.
|
* tools work without getting messed up by debugoutput.
|
||||||
*
|
*
|
||||||
* All other functions should work independent from this call.
|
* All other functions should work independently from this call.
|
||||||
*
|
*
|
||||||
* To test for complex console: pid == 0 -> simple, otherwise complex.
|
* To test for complex console: pid == 0 -> simple, otherwise complex.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -246,7 +246,7 @@ DWORD WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS epointers)
|
||||||
ret = EXCEPTION_CONTINUE_SEARCH;
|
ret = EXCEPTION_CONTINUE_SEARCH;
|
||||||
} else {
|
} else {
|
||||||
ERR("Couldn't start debugger (%s) (%ld)\n"
|
ERR("Couldn't start debugger (%s) (%ld)\n"
|
||||||
"Read the documentation on how to set up winedbg or another debugger\n",
|
"Read the Wine Developers Guide on how to set up winedbg or another debugger\n",
|
||||||
buffer, GetLastError());
|
buffer, GetLastError());
|
||||||
}
|
}
|
||||||
CloseHandle(hEvent);
|
CloseHandle(hEvent);
|
||||||
|
|
|
@ -102,7 +102,7 @@ BOOL WINAPI SetFileAttributesA(LPCSTR lpFileName, DWORD attributes)
|
||||||
if (-1==chmod(full_name.long_name,buf.st_mode))
|
if (-1==chmod(full_name.long_name,buf.st_mode))
|
||||||
{
|
{
|
||||||
FILE_SetDosError();
|
FILE_SetDosError();
|
||||||
MESSAGE("Wine ERROR: Couldn't set file attributes for existing file \"%s\". Check permissions !\n", full_name.long_name);
|
MESSAGE("Wine ERROR: Couldn't set file attributes for existing file \"%s\". Check permissions or set VFAT \"quiet\" flag !\n", full_name.long_name);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in New Issue