view pixmaps/tb_redo.xpm @ 33452:ed8db57d1034 v9.0.1980

patch 9.0.1980: win32: issues with stable python ABI Commit: https://github.com/vim/vim/commit/119fdd9293f63614ed2ca60a78993466435db639 Author: Ken Takata <kentkt@csc.jp> Date: Wed Oct 4 20:05:05 2023 +0200 patch 9.0.1980: win32: issues with stable python ABI Problem: win32: issues with stable python ABI Solution: if_python3,win32: Fix Python3 stable ABI There were some issues in current stable ABI implementation on Windows: * Python DLL name should be `python3.dll` instead of `python311.dll` and so on. (See: https://docs.python.org/3/c-api/stable.html) * Some non-stable API functions were used: - `_PyObject_NextNotImplemented` - `PyStdPrinter_Type` * `reset_stdin()` and `hook_py_exit()` didn't work with `python3.dll`. `python3.dll` is a special type of DLL called forwarder DLL. It just forwards the functions to other DLL (e.g. `python311.dll`). There were two issues regarding these functions: - `python3.dll` doesn't have import tables. This caused a crash in `get_imported_func_info()`. Add a check whether the specified DLL has an import table. - `reset_stdin()` and `hook_py_exit()` should be applied to the forwarded DLL (e.g. `python311.dll`), not to `python3.dll`. Check the export directory of `python3.dll` to find the forwarded DLL and apply the functions to it. closes: #13260 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ken Takata <kentkt@csc.jp>
author Christian Brabandt <cb@256bit.org>
date Wed, 04 Oct 2023 20:15:03 +0200
parents 3fc0f57ecb91
children
line wrap: on
line source

/* XPM */
static char * tb_redo_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"18 18 4 1 0 0",
/* colors */
" 	s none	m none	c none",
".	s iconColor1	m black	c #000000",
"X	s iconColor2	m none	c #FFFFFF",
"o	s bottomShadowColor	m black	c #5D6069",
/* pixels */
"                  ",
"                  ",
"      .....  ..   ",
"    ..XXXXX..X.o  ",
"   .XXXXXXXXXX.o  ",
"   .XX....XXXX.o  ",
"  .XX.ooo.XXXX.o  ",
"  .XX.o .XXXXX.o  ",
"  .XX.o .......o  ",
"  .XX.o  ooo.ooo  ",
"  .XX.o    .X.    ",
"   .XX.....XX.o   ",
"   .XXXXXXXX.oo   ",
"    ..XXXXX.oo    ",
"      .....oo     ",
"       ooooo      ",
"                  ",
"                  "};