]> git.tdb.fi Git - geometrycompositor.git/blobdiff - source/main.c
Don't try to create a mask out of null rects
[geometrycompositor.git] / source / main.c
index b7bd8a3be92a9b225abe37a74fbd8df2aedf4db9..cd2f1acb5a085bec2e8d33d30fbd49844382e7cd 100644 (file)
@@ -422,6 +422,8 @@ void update_window_mask(Compositor *compositor, CompositedWindow *window)
                return;
 
        rects = XShapeGetRectangles(compositor->display, window->window, ShapeBounding, &rect_count, &rect_order);
+       if(!rects)
+               return;
 
        width = window->width+2*window->border;
        height = window->height+2*window->border;
@@ -627,6 +629,8 @@ void update_monitor_vertices(CompositedScreen *screen, CompositedMonitor *monito
        sin_ksv = monitor->keystone_vertical/sqrt(1.0f+monitor->keystone_vertical*monitor->keystone_vertical);
        cos_ksv = sqrt(1.0f-sin_ksv*sin_ksv);
        distance = monitor->perspective+sin_ksv*((sin_ksv>0)-monitor->vertical_center)/aspect;
+       if(monitor->curvature_depth<0)
+               distance += -monitor->curvature_depth;
 
        eye[0] = 0.0f;
        eye[1] = (monitor->vertical_center-0.5f)/aspect+sin_ksv*distance;
@@ -1348,8 +1352,6 @@ void process_events(Compositor *compositor)
                                process_damage_event(compositor, (XDamageNotifyEvent *)&event);
                        else if(event.type==compositor->shape_event+ShapeNotify)
                                process_shape_event(compositor, (XShapeEvent *)&event);
-                       else
-                               printf("Event %d\n", event.type);
                }
        }
 }