summaryrefslogtreecommitdiffstats
path: root/kdecore/kapplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/kapplication.cpp')
-rw-r--r--kdecore/kapplication.cpp76
1 files changed, 25 insertions, 51 deletions
diff --git a/kdecore/kapplication.cpp b/kdecore/kapplication.cpp
index 5606b54fa..3bdf0b4cc 100644
--- a/kdecore/kapplication.cpp
+++ b/kdecore/kapplication.cpp
@@ -667,6 +667,22 @@ KApplication::KApplication( bool allowStyles, bool GUIenabled ) :
}
#ifdef Q_WS_X11
+KApplication::KApplication( Display *dpy, bool allowStyles ) :
+ TQApplication( dpy, *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),
+ getX11RGBAVisual(dpy), getX11RGBAColormap(dpy) ),
+ KInstance( KCmdLineArgs::about), display(0L), d (new KApplicationPrivate)
+{
+ aIconPixmap.pm.icon = 0L;
+ aIconPixmap.pm.miniIcon = 0L;
+ read_app_startup_id();
+ useStyles = allowStyles;
+ setName( instanceName() );
+ installSigpipeHandler();
+ parseCommandLine( );
+ init( true );
+ d->m_KAppDCOPInterface = new KAppDCOPInterface(this);
+}
+
KApplication::KApplication( Display *dpy, Qt::HANDLE visual, Qt::HANDLE colormap,
bool allowStyles ) :
TQApplication( dpy, *KCmdLineArgs::qt_argc(), *KCmdLineArgs::qt_argv(),
@@ -1803,11 +1819,16 @@ bool KApplication::detectCompositionManagerAvailable(bool force_available) {
Display* KApplication::openX11RGBADisplay() {
KCmdLineArgs *qtargs = KCmdLineArgs::parsedArgs("qt");
- char *displayname = 0;
+ char *display = 0;
if ( qtargs->isSet("display"))
- displayname = qtargs->getOption( "display" ).data();
-
- Display *dpy = XOpenDisplay( displayname );
+ display = qtargs->getOption( "display" ).data();
+
+ Display *dpy = XOpenDisplay( display );
+ if ( !dpy ) {
+ kdError() << "cannot connect to X server " << display << endl;
+ exit( 1 );
+ }
+
return dpy;
}
@@ -1866,53 +1887,6 @@ void KApplication::getX11RGBAInformation(Display *dpy) {
argb_visual = false;
return;
}
-
-KApplication KApplication::KARGBApplicationObject( bool allowStyles ) {
- KCmdLineArgs *qtargs = KCmdLineArgs::parsedArgs("qt");
- bool argb_visual_available = false;
- 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_available = true;
- break;
- }
- }
- }
-
- if( argb_visual_available ) {
- return KApplication( dpy, Qt::HANDLE( visual ), Qt::HANDLE( colormap ), allowStyles );
- }
- else {
- return KApplication(allowStyles, true);
- }
-}
#else
void KApplication::getX11RGBAInformation(Display *dpy) {
}