From kde-core-devel Wed Jul 16 21:26:43 2003 From: Adriaan de Groot Date: Wed, 16 Jul 2003 21:26:43 +0000 To: kde-core-devel Subject: libkdeinit_ libraries X-MARC-Message: https://marc.info/?l=kde-core-devel&m=105839139704569 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_TMcF/WiYsmXwQOL" --Boundary-00=_TMcF/WiYsmXwQOL Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Description: clearsigned data Content-Disposition: inline =2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Recently, KDE HEAD stopped starting up for me, with all kdeinit started=20 processes yielding errors because of a missing kdemain function. This is=20 documented in the "kdeinit & missing "main" symbol" thread on -devel. The attached patch looks in libkdeinit_foo before looking in foo itself, an= d=20 gets KDE HEAD started properly. I'm hesitant to just commit it, since I don= 't=20 really know (a) what this kdeinit stuff is good for (b) what to do in the=20 other branch of the if(), when the pathname starts with a / . =2D --=20 pub 1024D/FEA2A3FE 2002-06-18 Adriaan de Groot Key fingerprint =3D 934E 31AA 80A7 723F 54F9 50ED 76AC EE01 FEA2 A3FE =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (FreeBSD) iD8DBQE/FcMYdqzuAf6io/4RAmzhAJ4lvLVdbgndwNe9+EX2U10mlQCgcACgkMKq OmEqQG/bfCE5mPIoytHH5VU=3D =3DLicG =2D----END PGP SIGNATURE----- --Boundary-00=_TMcF/WiYsmXwQOL Content-Type: text/x-diff; charset="us-ascii"; name="kinit.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="kinit.diff" Index: kinit.cpp =================================================================== RCS file: /home/kde/kdelibs/kinit/kinit.cpp,v retrieving revision 1.124 diff -u -3 -p -r1.124 kinit.cpp --- kinit.cpp 1 Jul 2003 05:47:06 -0000 1.124 +++ kinit.cpp 15 Jul 2003 07:02:22 -0000 @@ -373,10 +373,18 @@ static pid_t launch(int argc, const char if (_name[0] != '/') { /* Relative name without '.la' */ - name = _name; + name = "libkdeinit_"; + name += _name; lib = name + ".la"; exec = name; libpath = QFile::encodeName(KLibLoader::findLibrary( lib, s_instance )); + if (libpath.isEmpty()) + { + name = _name; + lib = name + ".la"; + exec = name; + libpath = QFile::encodeName(KLibLoader::findLibrary( lib, s_instance )); + } execpath = execpath_avoid_loops( exec, envc, envs, avoid_loops ); } else --Boundary-00=_TMcF/WiYsmXwQOL--