1) основная пока проблема - это отображение окон на заднем плане, за родительским окном. В нашей программе создаются модальные диалоговые окна с изменяемым размером. Они выводятся позади их предка и работать практически невозможно. Это относится к дилоговым окнам с изменяемым размером из ресурсов, вызываемых через функцию WinApi , например: FARPROC lpProc; lpProc=MakeProcInstance((FARPROC) dialTwrList, hInstLib ); if(lpProc!=NULL){ ret=DialogBox(hInstLib,"vbrTwr", hWnd,lpProc); FreeProcInstance(lpProc); }else MessageBox(0,"Ошибка","",MB_OK); На всякий случай стиль окна: STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MAXIMIZEBOX Также выводятся сзади окна-родителя сообщения без Handle:, например MessageBox(0,"Тест","",MB_OK);
Выложил патч. Проблема вызвана патчем на багу #3024. Дело в том, что VVS Офис передает фокус окнам до того, как они станут видимы. По этой причине структура data, описывающее их X-овое окно, еще не была создана. Из-за этого X11DRV_SetFocus не отрабатывает и предыдущее topmost окно не сбрасывается. Решение заключается в том, чтобы создавать структуру data для окон, которым передается фокус в X11DRV_SetFocus. Тестировать можно в бутылке vvs/vvs_demo.
Принято. eter21