[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