summaryrefslogtreecommitdiff
path: root/docs/dev/concepts.md
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2024-03-25 10:25:45 -0400
committerJordan Wiens <jordan@psifertex.com>2024-03-25 10:25:45 -0400
commit4765a8d16105d2bdd2ca32524af80fdf6e80481e (patch)
tree4c01852f7eb7840fd227e92c69df026d0d9923e3 /docs/dev/concepts.md
parent5a1258bad3e93e6d60253fb7a95668baf90095f8 (diff)
add more info to UI API concepts
Diffstat (limited to 'docs/dev/concepts.md')
-rw-r--r--docs/dev/concepts.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/dev/concepts.md b/docs/dev/concepts.md
index 788caf81..d3046ec6 100644
--- a/docs/dev/concepts.md
+++ b/docs/dev/concepts.md
@@ -128,6 +128,8 @@ There are several ways to create UI elements in Binary Ninja. The first is to us
The second and more powerful (but more complicated) mechanism is to leverage the _binaryninjaui_ module. Additional documentation is forthcoming, but there are several examples ([1](https://github.com/Vector35/kaitai), [2](https://github.com/Vector35/snippets), [3](https://github.com/Vector35/binaryninja-api/tree/dev/python/examples/triage)), and most of the APIs are backed by the [documented C++ headers](https://api.binary.ninja/cpp). Additionally, the generated _binaryninjaui_ module is shipped with each build of binaryninja and the usual python `dir()` instructions are helpful for exploring its capabilities.
+When calling native UI methods, please make sure to use the [execute_on_main_thread](https://api.binary.ninja/binaryninja.mainthread-module.html#binaryninja.mainthread.execute_on_main_thread) method (or the [`_and_wait`](https://api.binary.ninja/binaryninja.mainthread-module.html#binaryninja.mainthread.execute_on_main_thread_and_wait) variant). By default, python actions are not run on the main thread to prevent blocking the UI, however, due to [thread-safety issues](https://doc.qt.io/qt-6/threads-reentrancy.html) around accessing QT from multple threads, UI actions should always make use of these APIs.
+
## Function Starts, Sizes, and Ending
### How big is a Function?