summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Endrodi <ext-adam.endrodi@nokia.com>2010-12-09 18:41:14 +0200
committerAdam Endrodi <ext-adam.endrodi@nokia.com>2010-12-15 16:00:00 +0200
commitd99edd1e297702d14653eeb38ef06ed8426000ce (patch)
tree6162c9107aa7d6bd0974b91831fab6bb9b6e3f4c
parent7afd24073bff77bd2b536626d202d809ed3858ba (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.cpp19
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"),