Closed muzunpostalci closed 4 years ago
I can reproduce the bug:
import gi
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
import pyscreenshot as ImageGrab
im = ImageGrab.grab(backend='pygdk3')
im = ImageGrab.grab(backend='pygdk3')
Gdk-Message: 15:51:32.984: x.py: Fatal IO error 0 (Success) on X server :0.
I found the answer here: https://stackoverflow.com/questions/9989475/python-multiprocessing-with-2-gtk-windows "multiprocessing.Process creates new processes using fork() instead of exec(). This means that each sub-process shares the same file handles as its parent, including those that connect it to the X server. The crash is caused because multiple processes are trying to communicate with the server simultaneously over the same connection."
Fixed by setting childprocess
default value to False
.
Hi, My code starts to get blocked at second invocation of
im = ImageGrab.grab()
If I add
childprocess=False
parameter as discussed at #38, it no longer blocks the code but it does not take the screenshot.FYI, I have tracked the issue to these lines. Started to face this issue after adding these lines to my code and deleting them fixes the problem;