View Issue Details

IDProjectCategoryView StatusLast Update
0000636FreeCADBugpublic2012-04-04 08:35
Reporterpperisin Assigned Towmayer  
Status closedResolutionfixed 
Product Version0.12 
Fixed in Version0.13 
Summary0000636: Two documents close

I'm building FreeCAD on OpenSUSE. There is a problem on close document.

It seems that document close is being executed twice, so he closes two documents, if there is another doc on the right side. I do not understand why.

Also, after he does this, screen looks weird, and in order to get it to appear normal I need to

Additional Informationopensuse 12.1

build 0751 GIT
TagsNo tags attached.
FreeCAD Information


has duplicate 0000760 closed Closing a file closes other files 


2012-03-13 14:11


1.png (Attachment missing)

2012-03-13 14:12


2.png (Attachment missing)

2012-03-13 14:12


3.png (Attachment missing)

2012-03-13 14:12


4.png (Attachment missing)


2012-03-13 14:15

reporter   ~0001764

on pictures are test cases:

1 - shows which document I want to close
2 - shows what happens after the click - the document you wanted to close and the first one on the right side closes

next is the case you have if 3 docs are opened, and you want to close second one.
3 - shows the case
4 - shows how the remaining doc looks like now.



2012-03-13 21:43

administrator   ~0001770

I can't confirm this, here all seems to work fine. But you last image looks very much like an OpenGL problem? What system are you running on? Does it have 3D driver installed? Which one?


2012-03-14 13:30

reporter   ~0001774

Opensuse 32bit.

NVidia propritary drivers installed.

It seems to me like QT problem - is it maybe that?



2012-03-17 10:36

administrator   ~0001786

Is HW acceleration activated?


2012-03-17 20:27

reporter   ~0001788

Last edited: 2012-03-17 20:27

I have no idea where to turn that on :-)

All I know is that I have added repo and installed propriate drivers of NVidia, and also on boot when opensuse screen is shown, for shot time NVidia logo appears.

I think it means that is on.



2012-03-18 15:32

reporter   ~0001789

openSUSE 12.1 x64

Version: 0.13.0768 (Git)
Branch: master
Hash: 5ca9ca11117873212cab6f17a0e97c9048f84f7c

I have the same problem.

Also I have a problem when I open the script, left documents are closing.

1. Create three documents
2. Open first script, third document will close
3. Open second script, second document will close


2012-03-18 18:42

reporter   ~0001790

It is so good when you are not the only one with the issue :-)


2012-03-19 20:25

administrator   ~0001798

Mhh, really wired bug! Since the tab management is mostly Qt, there seams
to be a different behavior in the OpenSuse Qt package to other platforms.
Or again a grave side effect of the 3D acceleration (as mostly).


2012-03-20 03:32

reporter   ~0001801

On Fedora 16 Qt 4.5 git commit 405e640c282edb97eb764122fc4ee87e9f5f0910
I also see the odd behavior when closing tabs. (not the video artifacts, however) If there is a document tab to the right of the tab to be closed, that document will also be closed. The log will show:
Log: Sel : Clear selection
Log: Sel : Clear selection

Closing the file in the File->Close menu option works properly.

A slightly different example: FreeCAD is launched, Start Page is displayed (in the only/left tab). Ppen a work document and make some changes. Click X to close the Start Page Tab and will be prompted to ask about saving the work document.

I do not see the problem with Version: 0.13.0674 (Git) Branch: master
Hash: 6a77635bdbb0fea476ab268234bea8d0cbe9506c Ubuntu 10.04 (Qt 4.6.2)


2012-03-20 07:57

administrator   ~0001802

According to the last posting we have different behaviour with different Qt versions. So, to me this doesn't sound like a FreeCAD bug but rather a Qt bug maybe in combination with the window manager of the Fedore/openSuse system.

I'm using Windows + the Ubuntu versions 10.04 -- 11.10 and for none of them I have this behaviour.


2012-03-25 00:36

reporter   ~0001810

On the fedora build there is another apparently related behavior.

Create a new document, click the X to close its tab, you are prompted to save the document, don't save or cancel. Select cancel and the same document save dialog will be presented a second time.

It looks like an OnClose event handler is being triggered twice when a tab is closed, though file close works normallly.


2012-03-25 00:41

administrator   ~0001811

Hm that would indeed explain while the other document gets closed. It would be interesting to see if the same behaviour occurs in other Qt apps that have closeable tabs...


2012-03-25 11:42

reporter   ~0001813

Do you know any other that kind of application. I can try to install it and see...


2012-03-25 13:12

administrator   ~0001814

Last edited: 2012-03-25 13:13

Try installing arora (web browser) or dolphin (kde file manager), both have tabs...
If they work, I'll have a look at their source code to see if they make tabs a different way...


2012-03-30 05:03

reporter   ~0001834

Hi Yorik,

I have tried both, and they do not seem to have this issue.



2012-04-02 05:51

administrator   ~0001847

IMO it's not a direct Qt issue but again related to some OpenGL glitches.

2012-04-02 06:58 (Attachment missing)


2012-04-02 07:00

administrator   ~0001848

Attached you find the file You can build the test application with:
qmake (or qmake-qt4


2012-04-02 07:07

reporter   ~0001850

I have also tried to make two tabs be differrent length, to se if mouse click event is being executed twice. If they are the same length tabs and mouse click event was executed twice, boith would be closed.

It looks like it is not the problem, so it is not issue with mouse click event. if one has much longer name than another one, both are closed.



2012-04-02 10:03

reporter   ~0001851

Last edited: 2012-04-02 10:04


yup, it closes two tabs, also. (MDI example you made)



2012-04-02 10:23

reporter   ~0001852


It looks like PyQT/PySide bug



2012-04-02 17:08

administrator   ~0001865

No, this can't be a PyQt/PySide bug because the test application uses only C++ Qt, nothing else.

OK, that's good that the test application confirms the issue. So, to proceed whether it's related to an OpenGL issue you can slightly modify the source code.

Replace this line:
setCentralWidget(new QGLWidget(this));
with e.g.
setCentralWidget(new QTextEdit(this));

If it still happens then it's a general Qt bug.


2012-04-02 17:22

administrator   ~0001866

I have installed an Ubuntu Precise which uses Qt 4.8.0 and this has exactly the same problem. For further testing I can play with my little test application.

My guess is that the QTabBar fires the signal tabCloseRequested() twice. So, a workaround could be to start a timer and if the signal is emitted twice within e.g. 1 second then the latter one will be ignored.


2012-04-02 17:35

administrator   ~0001867

tabCloseRequested() is emitted only once per click.

Apparently Qt 4.8 (or earlier) has changed its behaviour. With older versions one had to explicitly connect the tabCloseRequested() signal to a slot function and do the close oneself. But now Qt does it on its own.

So, the solution is simple: do not connect the tabCloseRequested() signal for a newer Qt version. Now the question is for which Qt version?
Petar, what Qt version do you have?


2012-04-03 15:52

reporter   ~0001873

This behavior is present on Fedora 16, which is also using Qt 4.8.

My other linux with freecad is Ubuntu 10.04. That uses Qt 4.6 and the tab closing works normally.

Sorry that I can't report on qt 4.7.


2012-04-03 19:36

administrator   ~0001877

Ubuntu 11.10 uses Qt 4.7.4 and there the issue is not shown.

So, after all it seems that the new behaviour was introduced with Qt 4.8


2012-04-03 19:44

administrator   ~0001878

git e89a93467c08192f9652653a061c146ca56c2d04 solves the issue.

Issue History

Date Modified Username Field Change
2012-03-13 14:07 pperisin New Issue
2012-03-13 14:11 pperisin File Added: 1.png
2012-03-13 14:12 pperisin File Added: 2.png
2012-03-13 14:12 pperisin File Added: 3.png
2012-03-13 14:12 pperisin File Added: 4.png
2012-03-13 14:15 pperisin Note Added: 0001764
2012-03-13 21:43 yorik Note Added: 0001770
2012-03-14 13:30 pperisin Note Added: 0001774
2012-03-17 10:36 wmayer Note Added: 0001786
2012-03-17 20:27 pperisin Note Added: 0001788
2012-03-17 20:27 pperisin Note Edited: 0001788
2012-03-18 15:32 ivanzero Note Added: 0001789
2012-03-18 18:42 pperisin Note Added: 0001790
2012-03-19 20:25 Jriegel Note Added: 0001798
2012-03-20 03:32 djreichel Note Added: 0001801
2012-03-20 07:57 wmayer Note Added: 0001802
2012-03-25 00:36 djreichel Note Added: 0001810
2012-03-25 00:41 yorik Note Added: 0001811
2012-03-25 11:42 pperisin Note Added: 0001813
2012-03-25 13:12 yorik Note Added: 0001814
2012-03-25 13:13 yorik Note Edited: 0001814
2012-03-30 05:03 pperisin Note Added: 0001834
2012-04-02 05:51 wmayer Note Added: 0001847
2012-04-02 06:58 wmayer File Added:
2012-04-02 07:00 wmayer Note Added: 0001848
2012-04-02 07:07 pperisin Note Added: 0001850
2012-04-02 10:03 pperisin Note Added: 0001851
2012-04-02 10:04 pperisin Note Edited: 0001851
2012-04-02 10:23 pperisin Note Added: 0001852
2012-04-02 17:08 wmayer Note Added: 0001865
2012-04-02 17:22 wmayer Note Added: 0001866
2012-04-02 17:35 wmayer Note Added: 0001867
2012-04-03 15:52 djreichel Note Added: 0001873
2012-04-03 19:36 wmayer Note Added: 0001877
2012-04-03 19:44 wmayer Note Added: 0001878
2012-04-03 19:44 wmayer Status new => resolved
2012-04-03 19:44 wmayer Fixed in Version => 0.13
2012-04-03 19:44 wmayer Resolution open => fixed
2012-04-03 19:44 wmayer Assigned To => wmayer
2012-04-04 08:35 wmayer Status resolved => closed
2012-06-25 06:40 wmayer Relationship added has duplicate 0000760