[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 99415] crashes konqueror when trying to open a pdf after one
From: Gary Cramblitt <garycramblitt () comcast ! net>
Date: 2005-02-18 23:27:45
Message-ID: 20050218232745.9622.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=99415
------- Additional Comments From garycramblitt comcast net 2005-02-19 00:27 -------
It looks like the code in part.cpp is starting KTTSD in order to determine if the \
context menu item should be enabled/displayed or not. Instead of starting KTTSD, \
which is something user might not want, you could detect if KTTSD is available \
something like this:
// If KTTSD is not installed, hide action.
KTrader::OfferList offers = KTrader::self()->query("DCOP/Text-to-Speech", "Name \
== 'KTTSD'"); if (offers.count() > 0)
// Enable context menu option.
else
// Disable context menu option.
Then if user chooses to speak text, start KTTSD if needed.
Note: You may have to insert a delay after starting KTTSD before sending it text to \
speak. I have some code like this in kdebase/konqueror/kttsplugin/khtmlkttsd.cpp to \
deal with this:
void KHTMLPluginKTTSD::slotReadOut()
{
DCOPClient *client = kapp->dcopClient();
// If KTTSD not running, start it.
if (!client->isApplicationRegistered("kttsd"))
{
QString error;
if (kapp->startServiceByName("KTTSD", QStringList(), &error))
QMessageBox::warning(0, i18n( "Starting KTTSD Failed"), error );
else
{
// Give KTTSD time to load.
QTimer::singleShot(1000, this, SLOT(slotReadOut()));
return;
}
}
This may or may not be needed. I'm not sure.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic