Skip to content
  • Peter Wu's avatar
    Refactor pixmap grabbing, add robustness · 7a5603fd
    Peter Wu authored
    Do not go in an infinite loop when the root window cannot be captured
    (bug 370303). Avoid crashing xcb_image_destroy by checking for NULL.
    
    Split the getWindowPixmap into three logical methods depending on the
    consumer: obtaining a pixmap from KWin, obtaining a pixmap from a single
    window and obtaining a pixmap from a full screen. This enables some
    optimizations, like obtaining a smaller area of the screen without
    cropping. Additionally, it will make fixing HiDPI support easier.
    
    Added robustness: if KWin somehow fails, now it will fallback to a
    fullscreen capture instead of an null pixmap.
    
    REVIEW: 129176
    BUG: 370303
    FIXED-IN: 16.12
    7a5603fd