pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/x11/kdebase3 Add update from KDE svn to provide real t...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/ec9b5895b137
branches:  trunk
changeset: 529621:ec9b5895b137
user:      markd <markd%pkgsrc.org@localhost>
date:      Fri Jun 08 12:35:37 2007 +0000

description:
Add update from KDE svn to provide real transparency support without side
effects in konsole, if qt-copy patch #0078 is available.  Fixes issue of
konsoles not grouping in the TaskBar. Bump PKGREVISION.

diffstat:

 x11/kdebase3/Makefile         |    3 +-
 x11/kdebase3/distinfo         |    3 +-
 x11/kdebase3/patches/patch-ar |  168 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 172 insertions(+), 2 deletions(-)

diffs (201 lines):

diff -r f526df484fc6 -r ec9b5895b137 x11/kdebase3/Makefile
--- a/x11/kdebase3/Makefile     Fri Jun 08 12:29:53 2007 +0000
+++ b/x11/kdebase3/Makefile     Fri Jun 08 12:35:37 2007 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.128 2007/06/08 08:23:49 rillig Exp $
+# $NetBSD: Makefile,v 1.129 2007/06/08 12:35:37 markd Exp $
 
 DISTNAME=      kdebase-${_KDE_VERSION}
+PKGREVISION=   1
 CATEGORIES=    x11
 COMMENT=       Base modules for the KDE 3 integrated X11 desktop
 
diff -r f526df484fc6 -r ec9b5895b137 x11/kdebase3/distinfo
--- a/x11/kdebase3/distinfo     Fri Jun 08 12:29:53 2007 +0000
+++ b/x11/kdebase3/distinfo     Fri Jun 08 12:35:37 2007 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.96 2007/05/23 13:05:34 markd Exp $
+$NetBSD: distinfo,v 1.97 2007/06/08 12:35:37 markd Exp $
 
 SHA1 (Daemon.README) = eb1e6af52adc02ded77af17e8953134b7e60d23b
 RMD160 (Daemon.README) = 39edd92ed4314397080f32a8caff0ac3f716ecf4
@@ -24,6 +24,7 @@
 SHA1 (patch-al) = 555384dc03ab59845e5794e081dd5d1a92e2959e
 SHA1 (patch-an) = e1620c558d300db98580109e64ee44a63571e5f7
 SHA1 (patch-aq) = 8cdc56fb3ca1646983790b6bb20b62ac04e41aa2
+SHA1 (patch-ar) = acfc797d1e599d81e5c19169e593c5bc1f0b63a7
 SHA1 (patch-bb) = 4c85002b95661db18619283e50512f3ab131a0ba
 SHA1 (patch-bc) = fd7e784b584763b7351dbdaefda58443bd1aaadb
 SHA1 (patch-bx) = d58d16fd484fc0a46c1ae93267af19e73af6f990
diff -r f526df484fc6 -r ec9b5895b137 x11/kdebase3/patches/patch-ar
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/kdebase3/patches/patch-ar     Fri Jun 08 12:35:37 2007 +0000
@@ -0,0 +1,168 @@
+$NetBSD: patch-ar,v 1.4 2007/06/08 12:35:38 markd Exp $
+
+kde svn patch 669488
+
+--- konsole/konsole/main.cpp.orig      2007/03/13 12:29:16     642131
++++ konsole/konsole/main.cpp   2007/05/29 14:32:54     669488
+@@ -46,18 +46,15 @@
+ 
+ #include "konsole.h"
+ 
+-// COMPOSITE disabled by default because the QApplication constructor
+-// needed to enable the ARGB32 visual has undesired side effects.
+-//#if 0
+ #if defined(Q_WS_X11) && defined(HAVE_XRENDER) && QT_VERSION >= 0x030300
+ #define COMPOSITE
+ #endif
+-//#endif
+ 
+ #ifdef COMPOSITE
+ # include <X11/Xlib.h>
+ # include <X11/extensions/Xrender.h>
+ # include <fixx11h.h>
++# include <dlfcn.h>
+ #endif
+ 
+ static const char description[] =
+@@ -255,47 +252,62 @@
+   if( qtargs->isSet("font") )
+       kdWarning() << "The Qt option -fn, --font has no effect." << endl;
+ 
++  KApplication* a = NULL;
+ #ifdef COMPOSITE
+-  char *display = 0;
+-  if ( qtargs->isSet("display"))
+-    display = qtargs->getOption( "display" ).data();
+-
+-  Display *dpy = XOpenDisplay( display );
+-  if ( !dpy ) {
+-    kdError() << "cannot connect to X server " << display << endl;
+-    exit( 1 );
+-  }
+-
+-  int screen = DefaultScreen( dpy );
+-  Colormap colormap = 0;
+-  Visual *visual = 0;
+-  int event_base, error_base;
+-
+-  if ( args->isSet("real-transparency") && XRenderQueryExtension( dpy, &event_base, &error_base ) )
+-  {
+-    int nvi;
+-    XVisualInfo templ;
+-    templ.screen  = screen;
+-    templ.depth   = 32;
+-    templ.c_class = TrueColor;
+-    XVisualInfo *xvi = XGetVisualInfo( dpy, VisualScreenMask | VisualDepthMask
+-                | VisualClassMask, &templ, &nvi );
+-
+-    for ( int i = 0; i < nvi; i++ ) {
+-      XRenderPictFormat *format = XRenderFindVisualFormat( dpy, xvi[i].visual );
+-      if ( format->type == PictTypeDirect && format->direct.alphaMask ) {
+-        visual = xvi[i].visual;
+-        colormap = XCreateColormap( dpy, RootWindow( dpy, screen ), visual, AllocNone );
+-        kdDebug() << "found visual with alpha support" << endl;
+-        argb_visual = true;
+-        break;
++  if ( args->isSet("real-transparency")) {
++    char *display = 0;
++    if ( qtargs->isSet("display"))
++      display = qtargs->getOption( "display" ).data();
++
++    Display *dpy = XOpenDisplay( display );
++    if ( !dpy ) {
++      kdError() << "cannot connect to X server " << display << endl;
++      exit( 1 );
++    }
++
++    int screen = DefaultScreen( dpy );
++    Colormap colormap = 0;
++    Visual *visual = 0;
++    int event_base, error_base;
++
++    if ( XRenderQueryExtension( dpy, &event_base, &error_base ) ) {
++      int nvi;
++      XVisualInfo templ;
++      templ.screen  = screen;
++      templ.depth   = 32;
++      templ.c_class = TrueColor;
++      XVisualInfo *xvi = XGetVisualInfo( dpy, VisualScreenMask | VisualDepthMask
++                  | VisualClassMask, &templ, &nvi );
++
++      for ( int i = 0; i < nvi; i++ ) {
++        XRenderPictFormat *format = XRenderFindVisualFormat( dpy, xvi[i].visual );
++        if ( format->type == PictTypeDirect && format->direct.alphaMask ) {
++          visual = xvi[i].visual;
++          colormap = XCreateColormap( dpy, RootWindow( dpy, screen ), visual, AllocNone );
++          kdDebug() << "found visual with alpha support" << endl;
++          argb_visual = true;
++          break;
++        }
+       }
+     }
+-  }
++    // The QApplication ctor used is normally intended for applications not using Qt
++    // as the primary toolkit (e.g. Motif apps also using Qt), with some slightly
++    // unpleasant side effects (e.g. #83974). This code checks if qt-copy patch #0078
++    // is applied, which allows turning this off.
++    bool* qt_no_foreign_hack = static_cast< bool* >( dlsym( RTLD_DEFAULT, "qt_no_foreign_hack" ));
++    if( qt_no_foreign_hack )
++        *qt_no_foreign_hack = true;
++    // else argb_visual = false ... ? *shrug*
+ 
+-  KApplication a( dpy, Qt::HANDLE( visual ), Qt::HANDLE( colormap ) );
++    if( argb_visual )
++      a = new KApplication( dpy, Qt::HANDLE( visual ), Qt::HANDLE( colormap ) );
++    else
++      XCloseDisplay( dpy );
++  }
++  if( a == NULL )
++      a = new KApplication;
+ #else
+-  KApplication a;
++  KApplication* a = new KApplication;
+ #endif
+ 
+   QString dataPathBase = KStandardDirs::kde_default("data").append("konsole/");
+@@ -351,7 +363,7 @@
+   fixed_size = !args->isSet("resize");
+ 
+   if (!full_script)
+-      a.dcopClient()->setQtBridgeEnabled(false);
++      a->dcopClient()->setQtBridgeEnabled(false);
+ 
+   QCString type = "";
+ 
+@@ -467,13 +479,13 @@
+   putenv((char*)"COLORTERM="); // to trigger mc's color detection
+   KonsoleSessionManaged ksm;
+ 
+-  if (a.isRestored() || !profile.isEmpty())
++  if (a->isRestored() || !profile.isEmpty())
+   {
+     if (!shell)
+        shell = konsole_shell(eargs);
+ 
+     if (profile.isEmpty())
+-      sessionconfig = a.sessionConfig();
++      sessionconfig = a->sessionConfig();
+     sessionconfig->setDesktopGroup();
+     int n = 1;
+ 
+@@ -629,7 +641,7 @@
+     m->setAutoClose(auto_close);
+   }
+ 
+-  int ret = a.exec();
++  int ret = a->exec();
+ 
+  //// Temporary code, waiting for Qt to do this properly
+ 
+@@ -654,6 +666,8 @@
+      delete w;
+   }
+   delete list;
++  
++  delete a;
+ 
+   return ret;
+ }



Home | Main Index | Thread Index | Old Index