WINE: HeidiSQL parent window not usable after large SQL import

octoquad's profile image octoquad posted 9 years ago in Import/Export Permalink
I've been using HeidiSQL since around version 6.x and around version 7.x or 8.x I started receiving this problem. I was hoping it would be resolved in future releases, but it hasn't so I decided to report it this evening.
This problem has been present over multiple versions of WINE and distro releases i.e. Ubuntu and Ubuntu Gnome from 12.10 to 15.04 as far as I can recall.

The process is fairly easy to reproduce but mainly occurs if the SQL file needs to be loaded into memory:

1. Right-click in the query window and select "Load SQL File"
2. Select a large SQL file to import
3. A warning dialogue box appears as the file size is greater than 5MiB. Select "Yes"
4. Chunking occurs and the progress meter fills until complete and the import progress window disappears.
5. Clicking or trying to obtain focus on any element in HeidiSQL when the import is complete is unresponsive (OS plays sound that child window needs attention).

At this point the only option is to kill the heidisql.exe process with "killall heidisql.exe".
There are no additional windows I can find that might be blocking the main window in Ubuntu Gnome.

In Ubuntu however, there is a Untitled Window if you right-click on the launcher icon. With Alt-Tab, there is a window if you focus on HeidiSQL then press the right arrow, a small window possibly 15px in height and 1px in width is present with an X to close it. Unfortunately with alt-tab you can't close it with the mouse or right-clicking on the icon in the launcher does not give you the option to close it either. Alt-F4 doesn't work if you click on the window in the launcher as well.

Distro: Ubuntu & Ubuntu Gnome 15.04
WINE: 1.6.2
HeidiSQL: 9.2.0.4957

Thanks
2 attachment(s):
  • alt-tab-import-window
  • launcher
ansgar's profile image ansgar posted 9 years ago Permalink
That dialog is a "IProgressDialog" window created by Windows, with its animations, labels and progress bar. HeidiSQL itself does not paint it, but it lets Windows paint this window. I guess there is no fitting implementation in Wine for that IProgressDialog.

It's creation is done using such an OS call:
Dialog := CreateComObject(CLSID_ProgressDialog) as IProgressDialog;


Probably there's a bug report at Wine already for that stuff?
octoquad's profile image octoquad posted 9 years ago Permalink
Hi Ansgar,

Thanks for the quick reply. I'll file a bug report upstream. Same process works fine under Windows 7 so it's definitely a WINE bug.

Please login to leave a reply, or register at first.