Workarounds for Qt bugs

From Scribus Wiki
Jump to navigation Jump to search
This article is part of the Tips & Tricks series.
Installation Usage PDF issues Other

Yes/No Bug

A nasty bug in SuSE Linux 9.3/10.0 causes a major problem when running Scribus: In dialogs with Yes/No choice, the "No" button is ignored. Thus, if you incidentially click "Delete content" in the context menu and afterwards "No" in the dialog, the content will be deleted anyway.

Craig Bradney has found a workaround for this and posted it on the bug tracker. There are three possibilities:

  1. Open a shell and type
$ export QT_NO_KDE_INTEGRATION=1
$ scribus
  1. The first approach is not quite comfortable, since you have to retype it any time you open a new shell. Alternatively, you can edit either the file .bashrc for your system or for your home directory. It is recommended to do this only for yourself. Editing in this case simply means adding
export QT_NO_KDE_INTEGRATION=1 

to the file. Note that .bashrc is a hidden file in your home directory.

  1. If editing .bashrc seems to be too dangerous for you or causes problems with your system, you can write a small shell script:
#!/bin/bash
QT_NO_KDE_INTEGRATION=1 /path/to/scribus $@

Save this as scribus.sh or whatever else you like. Then make it executable:

chmod a+x scribus.sh

You can then start Scribus by typing

./scribus.sh

in a shell.

This will be extremely handy if you have more than one version of Scribus on your machine. PLEASE NOTE THAT THE BUG STILL EXISTS IN SUSE 10.0. UPDATE: As of February 2 2006 SuSE provides a patch that can be installed using YaST for 10.0. It's not perfect yet, but should remove most of the problems.

Spinbox Bug

This bug is present on SuSE9.3 and other distributions whenever both a localisation with a comma as the decimal separator (e.g. German) and scim is installed as a QT input method. All spinboxes which contain floats (e.g. margin or paper size boxes) are set to 0,00 whenever anything is typed in and the box loses the keyboard focus. This is a nasty QT bug. There is a workaround for this problem. Call scribus with the line

$ LC_ALL=C scribus