XGetSubImage can generate BadDrawable , BadGC , BadMatch , and BadValue errors. A value for a Drawable argument does not name a defined Window or Pixmap. A value for a GContext argument does not name a defined GContext. An InputOnly window is used as a Drawable. Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.