Fonts
I try to find a good font for application. But all linux fonts looks not so good. The best font that I found is cronyx, but it is not support european code page. Does anybody know where I can find a font like cronyx ? Thanks.
How to speed up drawing controls ?
The drawing speed of window controls and windows is very slow under wine. I set option PerfectGraphics = Y but it is still slow. May be it is not so good optimised ? Is there other way to improve performance ? Thanks.
Redrawing windows
I made some experiments and I understand one thing. Exaple two windows /---\ | W1| |control1| | | | /\ \- | | | | | | --- Move | W2 | | | \/ The window W1 is under window W2 When I move window W2 wine paint all rect of W1 window ! And it may hide control1 that inside area of W1. It is not good idea because not all rect of window need to repaint. Good idea is repaint only the part of W1 that under W2. Only rect that have any changes on screen. It will increase speed of drawing windows. But may be I mistake..
Re: asm help
BOOL WINAPI _InitCommonControlsEx(WINGS_INITCOMMONCONTROLSEX* lpInitCtrls) { if(!dwLPA_InitCommonControlsEx) { return FALSE; } else { return dwLPA_InitCommonControlsEx(lpInitCtrls); } } The jmp is an optimization step, where the new function is called with the same parameters as the old one. I do agree with you about not using direct ASM-C conversions like this. -- Shachar Shemesh Open Source integration consultant Home page resume - http://www.shemesh.biz/ Ok, i understand, i got Access violation in dwLPA_InitCommonControlsEx(lpInitCtrls);
Re: fcvt
Uwe Bonnes wrote: flyker == flyker [EMAIL PROTECTED] writes: flyker Function fcvt incorrect. example: int dec, sign; printf(%s\n, flyker fcvt(1.12, 2, dec, sign)); flyker result: 1.12e+00 flyker but need: 112 In what way does that behaviour hurt you(r application)? Bye Link with -lmsvcrt option
asm help
Can anybody help me write the function for Linux : __declspec(naked) BOOL WINAPI _InitCommonControlsEx(INITCOMMONCONTROLSEX* lpInitCtrls) { if(!dwLPA_InitCommonControlsEx) { __asm mov eax, 0 __asm ret 4 } else { __asm jmp dwLPA_InitCommonControlsEx } } May be : __declspec(naked) BOOL WINAPI _InitCommonControlsEx(WINGS_INITCOMMONCONTROLSEX* lpInitCtrls) { if(!dwLPA_InitCommonControlsEx) { __asm__ __volatile__(movl 0, %eax); __asm__ __volatile__(ret); } else { __asm__ __volatile__(jmp %0 : : q(dwLPA_InitCommonControlsEx)); } }
Serious Bug
The simple test crashes wine. And i think many other commands in constructor A() may crash wine. test.cpp: #include windows.h #include stdio.h class A { public: A(); }; A::A() { LoadLibrary(user32.dll); // all ok user32.dll is present } A a; int WinMain(HINSTANCE hInst, HINSTANCE, LPSTR szCmdLine, int nCmdShow) { return 0; }
Re: Serious Bug
Vincent BĂ©ron wrote: Huh? Works fine here cross-compiled with mingw. Even added 2 printf (one to the constructor, the other in WinMain), and the constructor one is called first (as it should be). Vincent RedHat 9.0, gcc and winelib. Of course constructor first.
Re: Serious Bug
Boaz Harrosh wrote: use --wrap in winemaker. Read about this option in the documentation Thanks. It is work :)
Segmentation fault
Under Windows my program exe file is about 6Mb. Under Linux and Wine it is about 50Mb (.so file). It is normal ? And Wine makes Segmentation fault on initialising global variables of my program. #1 0x40bb0116 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at main.cpp:681 #2 0x40bb0176 in _GLOBAL__I_oldfCentury () at main.cpp:3809 #3 0x40bcc151 in __do_global_ctors_aux () from /home/mc/PRJ/main.exe.so #4 0x40872dc6 in _init () from /home/mc/PRJ/main.exe.so #5 0x4000c4b1 in _dl_init_internal () from /lib/ld-linux.so.2 #6 0x40154f42 in dl_open_worker () from /lib/libc.so.6 #7 0x4000c266 in _dl_catch_error_internal () from /lib/ld-linux.so.2 #8 0x401549af in _dl_open () from /lib/libc.so.6 #9 0x4017bf6b in dlopen_doit () from /lib/libdl.so.2 #10 0x4000c266 in _dl_catch_error_internal () from /lib/ld-linux.so.2 #11 0x4017c316 in _dlerror_run () from /lib/libdl.so.2 #12 0x4017bf14 in dlopen@@GLIBC_2.1 () from /lib/libdl.so.2 #13 0x4002ea32 in wine_dlopen (filename=0xbfffc5f8 /home/mc/PRJ/main.exe.so, flag=2, error=0xbfffd628 \200., errorsize=1024) at loader.c:454 #14 0x4049e920 in __wine_kernel_init () at process.c:841 #15 0x401d8947 in __wine_process_init (argc=0, argv=0xbfffda84) at loader.c:1954 #16 0x4002e9fd in wine_init (argc=2, argv=0xbfffded4, error=0xbfffda84 , error_size=1024) at loader.c:431 #17 0x3c001771 in main (argc=2, argv=0xbfffded4) at main.c:33 #18 0x40057917 in __libc_start_main () from /lib/libc.so.6 Any ideas ?
need some modifications in ras.h
Please add this code in ras.h Thanks. DECL_WINELIB_TYPE_AW(LPRASENTRY) /* Enumerates intermediate states to a connection. (See RasDial) */ #define RASCS_PAUSED 0x1000 #define RASCS_DONE 0x2000 typedef enum tagRASCONNSTATE { RASCS_OpenPort = 0, RASCS_PortOpened, RASCS_ConnectDevice, RASCS_DeviceConnected, RASCS_AllDevicesConnected, RASCS_Authenticate, RASCS_AuthNotify, RASCS_AuthRetry, RASCS_AuthCallback, RASCS_AuthChangePassword, RASCS_AuthProject, RASCS_AuthLinkSpeed, RASCS_AuthAck, RASCS_ReAuthenticate, RASCS_Authenticated, RASCS_PrepareForCallback, RASCS_WaitForModemReset, RASCS_WaitForCallback, RASCS_Projected, RASCS_StartAuthentication, RASCS_CallbackComplete, RASCS_LogonNetwork, RASCS_SubEntryConnected, RASCS_SubEntryDisconnected, RASCS_Interactive = RASCS_PAUSED, RASCS_RetryAuthentication, RASCS_CallbackSetByCaller, RASCS_PasswordExpired, RASCS_InvokeEapUI, RASCS_Connected = RASCS_DONE, RASCS_Disconnected } RASCONNSTATE, *LPRASCONNSTATE; typedef struct tagRASCONNSTATUSW { DWORDdwSize; RASCONNSTATE rasconnstate; DWORDdwError; WCHARszDeviceType[ RAS_MaxDeviceType + 1 ]; WCHARszDeviceName[ RAS_MaxDeviceName + 1 ]; WCHARszPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; } RASCONNSTATUSW, *LPRASCONNSTATUSW; typedef struct tagRASCONNSTATUSA { DWORDdwSize; RASCONNSTATE rasconnstate; DWORDdwError; CHAR szDeviceType[ RAS_MaxDeviceType + 1 ]; CHAR szDeviceName[ RAS_MaxDeviceName + 1 ]; CHAR szPhoneNumber[ RAS_MaxPhoneNumber + 1 ]; } RASCONNSTATUSA, *LPRASCONNSTATUSA; DECL_WINELIB_TYPE_AW(RASCONNSTATUS) DECL_WINELIB_TYPE_AW(LPRASCONNSTATUS) typedef struct tagRASDIALEXTENSIONS { DWORD dwSize; DWORD dwfOptions; HWND hwndParent; DWORD reserved; DWORD reserved1; } RASDIALEXTENSIONS, *LPRASDIALEXTENSIONS; #define LPHRASCONN HRASCONN*
How to run program without wine ?
Can i compile my program to executable file that can be run without wine ?