Page 1 of 1

[Gelöst] Crash beim Start nach Einbindung einer Bibliothek

Posted: Sun Feb 02, 2014 11:28 am
by aladin
System: Gentoo Linux
Qcad-Version. 3.4.5

Hallo,

nach Einbindung einer Bibliothek crasht Qcad beim Start immer wieder mit folgender Meldung:

Code: Select all

fischer@tpw500p ~ $ qcad
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Debug:    RDxfPlugin::init 
Debug:    RExamplePlugin::init 
Debug:    TransactionListenerPlugin::init 
Warning:  Cannot load translation:  "MiscDraw_de" 
Warning:  Directories:  ("scripts/Misc/MiscDraw/ts") 
Debug:    TIMER:  45 ms -  "loading add-ons" 
Warning:  "QFormBuilder was unable to create a custom widget of the class 'QWebView'; defaulting to base class 'QWidget'." 
Debug:    TIMER:  781 ms -  "initializing add-ons" 
Warning:  Script Exception:
 "TypeError: Result of expression 'tagsBrowser.page' [undefined] is not a function." 
Warning:  "<anonymous>()@/usr/share/qcad/scripts/Widgets/LibraryBrowser/LibraryBrowser.js:361" 
Warning:  QSqlDatabasePrivate::removeDatabase: connection 'library_browser_connection' is still in use, all queries will cease to work.
Warning:  QSqlDatabasePrivate::addDatabase: duplicate connection name 'library_browser_connection', old connection removed.
Warning:  RScriptHandlerEcma::eval: script engine exception:  "TypeError: Result of expression 'tagsBrowser.page' [undefined] is not a function." 
Warning:  "<anonymous>()@/usr/share/qcad/scripts/Widgets/LibraryBrowser/LibraryBrowser.js:361" 
Warning:  At least one uncaught exception: 
Warning:  "<anonymous>()@/usr/share/qcad/scripts/Widgets/LibraryBrowser/LibraryBrowser.js:361" 
Ohne Einbindung kann Qcad normal gestartet werden.
Direkt nach dem 1 Einlesen der Bibliothek ohne Neustart, kann auch mit der Bibliothek gearbeitet werden.
Erst bei einem erneuten Programmstart stürzt qcad ab.
Nachdem ich das Konfigurations-Verzeichnis gelöscht hab, kann qcad wieder gestartet werden und muss neu eingerichtet werden.

Kann das jemand anderes bestätigen, bzw. ist der Fehler bekannt?

Viele Grüße
Heiko Fischer

Re: Crash beim Start nach Einbindung einer Bibliothek

Posted: Thu Jul 24, 2014 6:46 pm
by aladin
Da ich leider keine Antwort bekommen habe, habe ich mir mit folgendem Patch geholfen:

Code: Select all

--- /usr/share/qcad/scripts/Widgets/LibraryBrowser/LibraryBrowser.js.ori	2014-07-24 19:38:15.275283422 +0200
+++ /usr/share/qcad/scripts/Widgets/LibraryBrowser/LibraryBrowser.js	2014-07-24 19:38:32.434068907 +0200
@@ -358,17 +358,17 @@
     var appWin = RMainWindowQt.getMainWindow();
     var formWidget = appWin.findChild("LibraryBrowserForm");
     var tagsBrowser = appWin.findChild("TagsBrowser");
-    var webPage = tagsBrowser.page();
-    webPage.linkDelegationPolicy = QWebPage.DelegateAllLinks;
+//    var webPage = tagsBrowser.page();*/
+//    webPage.linkDelegationPolicy = QWebPage.DelegateAllLinks;*/
 
     // make web view transparent:
     var palette = tagsBrowser.palette;
     palette.setBrush(QPalette.Base, new QColor(0,0,0,0));
-    webPage.palette = palette;
-    if (!RSettings.isQt(5)) {
-        tagsBrowser.setAttribute(Qt.WA_OpaquePaintEvent, false);
-    }
-    tagsBrowser.linkClicked.connect(LibraryBrowser, "linkClicked");
+//    webPage.palette = palette;
+//    if (!RSettings.isQt(5)) {
+//        tagsBrowser.setAttribute(Qt.WA_OpaquePaintEvent, false);
+//    }
+//    tagsBrowser.linkClicked.connect(LibraryBrowser, "linkClicked");
 
     var itemView =formWidget.findChild("TagsListView");
     var model = new QStandardItemModel(formWidget);
Wie das Problem korrekt zu lösen ist, erschließt sich mir leider nicht.

Viele Grüße
Heiko Fischer

Re: Crash beim Start nach Einbindung einer Bibliothek

Posted: Tue Dec 02, 2014 2:40 pm
by massimo
Hi, ich habe das identische Problem und bereits seit einiger Zeit reported: http://www.qcad.org/bugtracker/index.ph ... sk_id=1097
Scheint ein Gentoo-Problem zu sein, da ich auch auf Gentoo baue.

Da ich eben wieder drüber gestolpert bin, versuche ich gerade das Problem zu lösen und habe nochmal an den bereits geschlossenen Bug geschrieben.
Ich möchte den LibraryBrowser gerne verwenden, da ich für Elektro-Bauteile größere Bibliotheken habe. Der Browser ist zwar, als er noch funktionierte, extrem langsam, da er ständig die Bibliothek komplett liest, aber besser als gar nichts. Der Open Dialog hat ja nichtmal eine Vorschau.

Re: Crash beim Start nach Einbindung einer Bibliothek

Posted: Tue Dec 16, 2014 11:05 pm
by aladin
Hi, mit obigen Patch kann ich trotzdem mit dem LibraryBrowser arbeiten.
Ich benutze den auch sehr oft.
Bei mir sind da Elektro-Symbole drin für die Planung der Elektroinstallation.
Wie gesagt, mit dem Patch funktioniert alles gut. Ich weiß jetzt nicht welche Funktion Du noch nutzen willst, die nicht funktioniert.

Gruß
Heiko

Re: Crash beim Start nach Einbindung einer Bibliothek

Posted: Wed Dec 17, 2014 12:18 pm
by aladin
Nachtrag:

Wenn dev-qt/designer mit USE=webkit gebaut wird, tritt der Fehler nicht auf und es muss nicht gepatcht werden.
Diese Abhängigkeit sollte wohl ins ebuild.

Gruß
Heiko

Code: Select all

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4

inherit gnome2-utils qt4-r2

DESCRIPTION="QCAD is an application for computer aided drafting in two dimensions (2d)"
HOMEPAGE="http://www.qcad.org"
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE=""
RESTRICT="mirror"

DEPEND="dev-libs/glib:2
	dev-qt/qtcore:4
	dev-qt/qtgui:4
	dev-qt/qthelp:4
	dev-qt/qtopengl:4
	dev-qt/qtscript:4
	dev-qt/qtsql:4
	dev-qt/qtsvg:4
	dev-qt/qtwebkit:4
	dev-qt/designer:4[webkit]
	dev-qt/qtxmlpatterns:4
	sys-devel/gcc:4.7"

src_prepare() {
        if [[ ( $(gcc-major-version) -ne 4 && $(gcc-minor-version) -ne 7 ) ]]; then
                die "${P} requires an active gcc:4.7, please consult the output of 'gcc-config -l'"
        fi
}

src_install() {
	mkdir -p "${ED}usr/share/${PN}"
	cp -dpR {release/*,examples,fonts,libraries,patterns,plugins,scripts,ts,readme.txt} \
		"${ED}usr/share/${PN}/" || die "Failed to install support files"

	insinto /usr/share/icons/hicolor/scalable/apps
	doins scripts/qcad_icon.svg
	make_desktop_entry ${PN} QCad qcad_icon Office

cat - > ${PN} <<EOF
#!/bin/sh
cd /usr/share/qcad && LD_LIBRARY_PATH=\$(pwd) ./qcad-bin
EOF
	dobin qcad || die "Failed to create wrapper script"
}

pkg_preinst() {
	gnome2_icon_savelist
}

pkg_postinst() {
	gnome2_icon_cache_update
}

pkg_postrm() {
	gnome2_icon_cache_update
}