Revision: 947b26c7a207
Branch:   default
Author:   Pekka Klärck
Date:     Mon Dec 10 08:10:45 2012
Log: Screenshot: create wx app reference only when needed to avoid problems with RIDE.

Update issue 1304
Status: Done
Fixed.
http://code.google.com/p/robotframework/source/detail?r=947b26c7a207

Modified:
 /src/robot/libraries/Screenshot.py

=======================================
--- /src/robot/libraries/Screenshot.py  Mon Nov 19 03:57:39 2012
+++ /src/robot/libraries/Screenshot.py  Mon Dec 10 08:10:45 2012
@@ -27,7 +27,6 @@
 else:
     try:
         import wx
-        _wx_app_reference = wx.PySimpleApp()
     except ImportError:
         wx = None
     try:
@@ -268,6 +267,7 @@
     def __init__(self, module_name=None):
         self._screenshot = self._get_screenshot_taker(module_name)
         self.module = self._screenshot.__name__.split('_')[1]
+        self._wx_app_reference = None

     def __call__(self, path):
         self._screenshot(path)
@@ -308,6 +308,8 @@
             bmp.Save(path, Imaging.ImageFormat.Jpeg)

     def _wx_screenshot(self, path):
+        if not self._wx_app_reference:
+            self._wx_app_reference = wx.PySimpleApp()
         context = wx.ScreenDC()
         width, height = context.GetSize()
         bitmap = wx.EmptyBitmap(width, height, -1)

Reply via email to