targets/beremiz.h
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 25 May 2018 17:23:15 +0300
changeset 2166 5ce6d08ff2c7
parent 1050 56bef276055e
child 2175 667f7de69cf6
permissions -rw-r--r--
make clipboard open minimal time as wxPython documentation recommends

https://wxpython.org/Phoenix/docs/html/wx.Clipboard.html#wx.Clipboard.GetData

"Call wx.Clipboard.Open to get ownership of the clipboard. If this
operation returns True, you now own the clipboard. Call
wx.Clipboard.SetData to put data on the clipboard, or
wx.Clipboard.GetData to retrieve data from the clipboard. Call
wx.Clipboard.Close to close the clipboard and relinquish ownership.
You should keep the clipboard open only momentarily."

Maybe it makes situation with pretty annoying error 'clipboard already
open' a little bit better.

traceback:
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 955, in OnSaveProjectMenu
self.RefreshAfterSave()
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 946, in RefreshAfterSave
self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 926, in _Refresh
self.RefreshFunctions[element]()
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/BeremizIDE.py", line 766, in RefreshEditMenu
IDEFrame.RefreshEditMenu(self)
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 1185, in RefreshEditMenu
if self.GetCopyBuffer() is not None:
File "/home/developer/WorkData/PLC/beremiz/avangard-beremiz-ide/src/../../beremiz/IDEFrame.py", line 956, in GetCopyBuffer
if wx.TheClipboard.Open():
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/_misc.py", line 5793, in Open
return _misc_.Clipboard_Open(*args, **kwargs)
<class 'wx._core.PyAssertionError'>: C++ assertion "!m_open" failed at ../src/gtk/clipbrd.cpp(598) in Open(): clipboard already open
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     1
/* Beremiz' header file for use by extensions */
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     2
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     3
#include "iec_types.h"
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     4
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     5
#define LOG_LEVELS 4
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     6
#define LOG_CRITICAL 0
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     7
#define LOG_WARNING 1
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     8
#define LOG_INFO 2
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
     9
#define LOG_DEBUG 3
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    10
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    11
extern unsigned long long common_ticktime__;
1002
15c05ba95df4 LogMessage string pointer now char* instead of uint8_t*
Edouard Tisserant
parents: 1001
diff changeset
    12
int LogMessage(uint8_t level, char* buf, uint32_t size);
1050
56bef276055e Made declaration from beremiz.h available to C pragmas in POUs. Added AtomicCompareExchange to beremiz.h
Edouard Tisserant
parents: 1002
diff changeset
    13
long AtomicCompareExchange(long* atomicvar,long compared, long exchange);
1001
3f966bbb3fba Added beremiz.h header file for extensions
Edouard Tisserant
parents:
diff changeset
    14