diff options
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.patch | 46 |
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; + } |