summaryrefslogtreecommitdiffstats
path: root/redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch')
-rw-r--r--redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch b/redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch
new file mode 100644
index 000000000..74122ec46
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-fix_fqdn_in_title.patch
@@ -0,0 +1,46 @@
+commit d409abdbef8dd8b72bb2f311fcaa7456bdc2404b
+Author: Luboš Luňák <l.lunak@suse.cz>
+Date: Fri Mar 4 16:22:23 2011 +0100
+
+ do not show hostname in titlebar if it's FQDN of localhost
+
+diff --git a/kwin/utils.cpp b/kwin/utils.cpp
+--- a/kwin/utils.cpp
++++ b/kwin/utils.cpp
+@@ -18,6 +18,8 @@
+ #include "utils.h"
+
+ #include <unistd.h>
++#include <string.h>
++#include <netdb.h>
+
+ #ifndef KCMRULES
+
+@@ -323,6 +325,27 @@ bool isLocalMachine( const TQCString& host )
+ if( host == hostnamebuf )
+ return true;
+ }
++ else
++ { // e.g. LibreOffice likes to give FQDN, even if gethostname() doesn't include domain
++ struct addrinfo hints, *res, *addr;
++ bool is_local = false;
++
++ memset (&hints, 0, sizeof (hints));
++ hints.ai_family = PF_UNSPEC;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags |= AI_CANONNAME;
++
++ if( getaddrinfo( host, NULL, &hints, &res ) != 0)
++ return false;
++ for(addr = res; !is_local && addr; addr = addr->ai_next)
++ {
++ if( res->ai_canonname &&
++ host == TQCString( res->ai_canonname ))
++ is_local = true;
++ }
++ freeaddrinfo(res);
++ return is_local;
++ }
+ }
+ return false;
+ }