Subcommander Development Blog

Archive for March 2008


leave a comment »

Apart from all the new features and improvements of Qt4, moving Subcommander from Qt3 to Qt4 is really painful. Qt4 broke and breaks everything…

Ok. not everything ;-) But enough that it is just no fun. Interesting is that I have a lot more trouble with Qt4 on MacOSX than with Qt3. Here are the two most annoying issues:

Issue 1:

I have two tree views side by side. The left is filled with the project bookmarks and the right lists the working copy files. As you can see in the screenshot, the headers have a different height. Both list views have nearly the same setup code. I already spent several hours figuring out what is happening here. I still have no idea. :( On Windows there is no difference in the header height.


MacOSX: broken


Windows: correct

Issue 2:

The second issue is another platform issue. Submerge uses a hand made view for displaying the differences. I didn’t had to change much to get it working with Qt4. So far so good :)

It works perfectly on Windows like it did with Qt3. On MacOSX it has heavy redrawing problems. Jumping to the next difference or scrolling the view does often not properly redraw the view. This worked perfectly with Qt3. You can see an example in the screenshot below….

redrawing issue

MacOSX: redrawing issue

Funny, while trying to create a screenshot of this issue, it seems to happen less frequently. But it still happens. Interesting is that sometimes the redrawing error is just temporary. Moving the mouse above the window triggers a redraw that properly redraws the broken area. Sometimes one has to click into the widget to trigger a redraw. Magic..

Anyway, not sure if my memory is right, but i still have the impression that I had a lot less platform related issues with Qt3. And why is it, that it is always is broken on MacOSX? Arrrggggghhhhh ;)


Written by hauner

Monday, 24 March, 2008 at 11:01

Posted in subcommander

Tagged with