Good Day, dear wine users :) . I am the developer of program, which must work under Wine and Windows. it has two threads, and these threads use one function to add text to Rich text box. When they try to add texts in parallel, a mixed text appear. So I decided to use critical section. When main thread tries to add text, the text adds perfectly, but when the second thread tries to add text - it hangs my app :( . Here is the code in C++: Code: HWND__ *h_Edit = rtf_list->Handle; EnterCriticalSection(&cr_sec); CHARRANGE cr; cr.cpMin = 0; cr.cpMax = 0; // App hangs on this line SendMessage(h_Edit, EM_EXSETSEL, 0, (LPARAM)&cr); //..... LeaveCriticalSection(&cr_sec); Before this I use: Code: CRITICAL_SECTION cr_sec; InitializeCriticalSection(&cr_sec); to initialize Critical Section.