diff -u kdebase-workspace-4.2.95/debian/changelog kdebase-workspace-4.2.95/debian/changelog
--- kdebase-workspace-4.2.95/debian/changelog
+++ kdebase-workspace-4.2.95/debian/changelog
@@ -1,3 +1,11 @@
+kdebase-workspace (4:4.2.95-0ubuntu3) karmic; urgency=low
+
+  * debian/patches/kubuntu_81_abort.diff:
+    - Replace user-facing instances of "abort" with language that is more
+      user friendly (LP: #389751)
+
+ -- Mackenzie Morgan <maco.m@ubuntu.com>  Sun, 05 Jul 2009 14:08:32 -0400
+
 kdebase-workspace (4:4.2.95-0ubuntu2) karmic; urgency=low
 
   * kdebase-workspace-dev replaces kdebase-workspace-libs4+5 (<< 4:4.2.95-0ubuntu1)
diff -u kdebase-workspace-4.2.95/debian/patches/series kdebase-workspace-4.2.95/debian/patches/series
--- kdebase-workspace-4.2.95/debian/patches/series
+++ kdebase-workspace-4.2.95/debian/patches/series
@@ -31,0 +32 @@
+kubuntu_81_abort.diff
only in patch2:
unchanged:
--- kdebase-workspace-4.2.95.orig/debian/patches/kubuntu_81_abort.diff
+++ kdebase-workspace-4.2.95/debian/patches/kubuntu_81_abort.diff
@@ -0,0 +1,172 @@
+# Ubuntu: https://bugs.launchpad.net/bugs/389751
+# Description: Replace "abort" with user-friendly language
+Index: workspace/kcontrol/kfontinst/kcmfontinst/DuplicatesDialog.cpp
+===================================================================
+--- a/kcontrol/kfontinst/kcmfontinst/DuplicatesDialog.cpp	(revision 990623)
++++ b/kcontrol/kfontinst/kcmfontinst/DuplicatesDialog.cpp	(working copy)
+@@ -235,7 +235,7 @@
+             {
+                 if(itsFontFileList->isRunning())
+                 {
+-                    if(KMessageBox::Yes==KMessageBox::warningYesNo(this, i18n("Abort font scan?")))
++                    if(KMessageBox::Yes==KMessageBox::warningYesNo(this, i18n("Cancel font scan?")))
+                     {
+                         itsLabel->setText(i18n("Aborting..."));
+ 
+Index: workspace/doc/kdm/kdmrc-ref.docbook
+===================================================================
+--- a/doc/kdm/kdmrc-ref.docbook	(revision 990623)
++++ b/doc/kdm/kdmrc-ref.docbook	(working copy)
+@@ -536,7 +536,7 @@
+ <term id="option-allowfifonow"><option>AllowFifoNow</option></term>
+ <listitem>
+ <para>
+-Whether it is allowed to abort active sessions when shutting down the
++Whether it is allowed to exit active sessions when shutting down the
+ system via the global command socket.
+ </para><para>
+ This will have no effect unless <option>AllowFifo</option> is enabled.
+@@ -1065,7 +1065,7 @@
+ <term id="option-allowsdforcenow"><option>AllowSdForceNow</option></term>
+ <listitem>
+ <para>
+-Who is allowed to abort active sessions when shutting down.
++Who is allowed to exit active sessions when shutting down.
+ </para>
+ <variablelist>
+ <varlistentry>
+@@ -2207,7 +2207,7 @@
+ This is the place to put commands which add entries to
+ <filename>utmp</filename> (the <command>sessreg</command> program
+ may be useful here), mount users' home directories from file servers,
+-or abort the session if some requirements are not met (but note that on
++or exit the session if some requirements are not met (but note that on
+ modern systems, many of these tasks are already taken care of by
+ <acronym>PAM</acronym> modules).</para>
+ 
+Index: workspace/powerdevil/daemon/PowerDevilDaemon.cpp
+===================================================================
+--- a/powerdevil/daemon/PowerDevilDaemon.cpp	(revision 990623)
++++ b/powerdevil/daemon/PowerDevilDaemon.cpp	(working copy)
+@@ -1123,7 +1123,7 @@
+     } else {
+         d->notification = KNotification::event(evid, message, KIcon(iconname).pixmap(20, 20),
+                                                0, KNotification::Persistent, d->applicationData);
+-        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Abort Action"));
++        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Cancel"));
+ 
+         connect(d->notificationTimer, SIGNAL(timeout()), slot);
+         connect(d->notificationTimer, SIGNAL(timeout()), SLOT(cleanUpTimer()));
+@@ -1151,7 +1151,7 @@
+     } else {
+         d->notification = KNotification::event(evid, message, KIcon(iconname).pixmap(20, 20),
+                                                0, KNotification::Persistent, d->applicationData);
+-        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Abort Action"));
++        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Cancel"));
+ 
+         connect(d->notificationTimer, SIGNAL(timeout()), slot);
+         connect(d->notificationTimer, SIGNAL(timeout()), SLOT(cleanUpTimer()));
+@@ -1179,7 +1179,7 @@
+     } else {
+         d->notification = KNotification::event(evid, message, KIcon(iconname).pixmap(20, 20),
+                                                0, KNotification::Persistent, d->applicationData);
+-        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Abort Action"));
++        d->notification->setActions(QStringList() << i18nc("Interrupts the suspension/shutdown process", "Cancel"));
+ 
+         connect(d->notificationTimer, SIGNAL(timeout()), slot);
+         connect(d->notificationTimer, SIGNAL(timeout()), SLOT(cleanUpTimer()));
+Index: workspace/kdm/config.def
+===================================================================
+--- a/kdm/config.def	(revision 990623)
++++ b/kdm/config.def	(working copy)
+@@ -533,7 +533,7 @@
+ This is the place to put commands which add entries to
+ <filename>utmp</filename> (the <command>sessreg</command> program
+ may be useful here), mount users' home directories from file servers,
+-or abort the session if some requirements are not met (but note that on
++or exit the session if some requirements are not met (but note that on
+ modern systems, many of these tasks are already taken care of by
+ <acronym>PAM</acronym> modules).</para>
+ 
+@@ -1230,10 +1230,10 @@
+ User: core(fifoAllowNuke)
+ Instance: #!
+ Comment:
+- Whether it is allowed to abort active sessions when shutting down the
++ Whether it is allowed to exit active sessions when shutting down the
+  system via the global command socket.
+ Description:
+- Whether it is allowed to abort active sessions when shutting down the
++ Whether it is allowed to exit active sessions when shutting down the
+  system via the global command socket.
+  </para><para>
+  This will have no effect unless <option>AllowFifo</option> is enabled.
+@@ -1289,7 +1289,7 @@
+ Merge: xdm
+ Comment:
+  How many connection attempts to make during a start attempt. Note that
+- a timeout aborts the entire start attempt.
++ a timeout cancels the entire start attempt.
+ Description:
+  These options control the behavior of &kdm; when attempting to open a
+  connection to an &X-Server;. <option>OpenDelay</option> is the length
+@@ -1806,7 +1806,7 @@
+ Instance: #*/Root
+ Comment: &
+ Description:
+- Who is allowed to abort active sessions when shutting down.
++ Who is allowed to exit active sessions when shutting down.
+ 
+ Key: DefaultSdMode
+ Type: enum
+Index: workspace/kdm/kfrontend/kdmshutdown.cpp
+===================================================================
+--- a/kdm/kfrontend/kdmshutdown.cpp	(revision 990623)
++++ b/kdm/kfrontend/kdmshutdown.cpp	(working copy)
+@@ -614,8 +614,8 @@
+ 		if (_allowNuke == SHUT_NONE)
+ 			mayOk = false;
+ 		QLabel *lab = new QLabel( mayOk ?
+-		                          i18n("Abort active sessions:") :
+-		                          i18n("No permission to abort active sessions:"),
++		                          i18n("Exit active sessions:") :
++		                          i18n("No permission to exit active sessions:"),
+ 		                          this );
+ 		box->addWidget( lab );
+ 		QTreeWidget *lv = new QTreeWidget( this );
+@@ -668,8 +668,8 @@
+ 			mayNuke = doesNuke = true;
+ 	}
+ 	QLabel *lab = new QLabel( mayOk ?
+-	                          i18n("Abort pending shutdown:") :
+-	                          i18n("No permission to abort pending shutdown:"),
++	                          i18n("Cancel pending shutdown:") :
++	                          i18n("No permission to cancel pending shutdown:"),
+ 	                          this );
+ 	box->addWidget( lab );
+ 	QDateTime qdt;
+@@ -706,9 +706,9 @@
+ 	if (timeout != TO_INF)
+ 		trg += i18n("\nAfter timeout: %1",
+ 		         force == SHUT_FORCE ?
+-		             i18nc("after timeout:", "abort all sessions") :
++		             i18nc("after timeout:", "exit all sessions") :
+ 		             force == SHUT_FORCEMY ?
+-		             i18nc("after timeout:", "abort own sessions") :
++		             i18nc("after timeout:", "exit own sessions") :
+ 		             i18nc("after timeout:", "cancel shutdown") );
+ 	lab = new QLabel( trg, this );
+ 	box->addWidget( lab );
+Index: workspace/kdm/kfrontend/kgdialog.cpp
+===================================================================
+--- a/kdm/kfrontend/kgdialog.cpp	(revision 990623)
++++ b/kdm/kfrontend/kgdialog.cpp	(working copy)
+@@ -69,7 +69,7 @@
+ #endif
+ 
+ 	if (_allowClose || _isReserve)
+-		inserten( _isReserve ? i18n("Abort S&ession") :
++		inserten( _isReserve ? i18n("Exit S&ession") :
+ 		          _isLocal ? i18n("R&estart X Server") :
+ 		                     i18n("Clos&e Connection"),
+ 		          Qt::ALT+Qt::Key_E, SLOT(slotExit()) );
