|
@@ -42,14 +42,19 @@ SlopSelection SlopSelect( SlopOptions* options, bool* cancelled ) {
|
42
|
42
|
// Set up x11 temporarily
|
43
|
43
|
x11 = new X11(options->xdisplay);
|
44
|
44
|
keyboard = new Keyboard( x11 );
|
45
|
|
- // First we try to make an OpenGL enabled window
|
46
|
45
|
bool success = false;
|
47
|
46
|
SlopWindow* window;
|
48
|
|
- try {
|
49
|
|
- window = new SlopWindow();
|
50
|
|
- success = true;
|
51
|
|
- } catch (...) {
|
52
|
|
- success = false;
|
|
47
|
+ // First we check if we have a compositor available
|
|
48
|
+ if ( x11->hasCompositor() ) {
|
|
49
|
+ // If we have a compositor, we try using OpenGL
|
|
50
|
+ try {
|
|
51
|
+ window = new SlopWindow();
|
|
52
|
+ success = true;
|
|
53
|
+ } catch (...) {
|
|
54
|
+ success = false;
|
|
55
|
+ }
|
|
56
|
+ } else {
|
|
57
|
+ std::cerr << "Failed to detect a compositor, OpenGL hardware-accelleration disabled...\n";
|
53
|
58
|
}
|
54
|
59
|
if ( !success ) {
|
55
|
60
|
// If we fail, we launch the XShape version of slop.
|