diff options
author | Adam Endrodi <ext-adam.endrodi@nokia.com> | 2010-12-09 18:41:14 +0200 |
---|---|---|
committer | Adam Endrodi <ext-adam.endrodi@nokia.com> | 2010-12-15 16:00:00 +0200 |
commit | d99edd1e297702d14653eeb38ef06ed8426000ce (patch) | |
tree | 6162c9107aa7d6bd0974b91831fab6bb9b6e3f4c | |
parent | 7afd24073bff77bd2b536626d202d809ed3858ba (diff) |
use QString()s in the zombie dialog
* decorators/mdecorator/mdecoratorwindow.cpp (MDecoratorWindow::showQueryDialog):
also fixes a potential l10n bug, because the name doesn't necessarily have
a latin1 representation
-rw-r--r-- | decorators/mdecorator/mdecoratorwindow.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/decorators/mdecorator/mdecoratorwindow.cpp b/decorators/mdecorator/mdecoratorwindow.cpp index 29025df..d991fb2 100644 --- a/decorators/mdecorator/mdecoratorwindow.cpp +++ b/decorators/mdecorator/mdecoratorwindow.cpp @@ -220,25 +220,28 @@ bool MDecoratorWindow::x11Event(XEvent *e) void MDecoratorWindow::showQueryDialog(bool visible) { if (visible && !messageBox) { - char name[100]; - snprintf(name, 100, "window 0x%lx", managed_window); + QString name; + XClassHint cls = {0, 0}; XGetClassHint(QX11Info::display(), managed_window, &cls); if (cls.res_name) { - strncpy(name, cls.res_name, 100); + name = QString(cls.res_name); MDesktopEntry de(QString("/usr/share/applications/") + name + ".desktop"); if (de.isValid() && !de.name().isEmpty()) - strncpy(name, de.name().toAscii().data(), 100); - } - if (cls.res_class) XFree(cls.res_class); - if (cls.res_name) XFree(cls.res_name); + name = de.name(); + XFree(cls.res_name); + } else + name.sprintf("window 0x%lx", managed_window); + + if (cls.res_class) + XFree(cls.res_class); XSetTransientForHint(QX11Info::display(), winId(), managed_window); requested_only_statusbar = only_statusbar; setOnlyStatusbar(true, true); messageBox = new MMessageBox( - qtTrId("qtn_reco_app_not_responding").replace("%1", name), + qtTrId("qtn_reco_app_not_responding").arg(name), qtTrId("qtn_reco_close_app_question"), M::NoStandardButton); MButtonModel *yes = messageBox->addButton(qtTrId("qtn_comm_command_yes"), |