view pixmaps/tb_open.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_open_xpm[] = {
/* width height ncolors cpp [x_hot y_hot] */
"18 18 7 1 0 0",
/* colors */
" 	s none	m none	c none",
".	s iconColor1	m black	c #000000",
"X	s bottomShadowColor	m black	c #5D6069",
"o	s iconColor2	m none	c #FFFFFF",
"O	s iconGray1	m none	c #dedede",
"+	s iconGray5	m black	c #737373",
"@	s iconGray3	m none	c #adadad",
/* pixels */
"                  ",
"    .........X    ",
"    .oooooo.o.X   ",
"    .oooooo.oo.X  ",
"    .oooooo....X  ",
"  ...ooooooooo... ",
"  .O.OOOOOOOOo.+. ",
".............O.+.X",
".oooooooooooo..+.X",
" .o@@@@@@@@@@+.+.X",
" .o@@@@@@@@@@@.+.X",
"  .o@@@@@@@@@@+..X",
"  .o@@@@@@@@@@@..X",
"   .o+++++++++++.X",
"   ..............X",
"     XXXXXXXXXXXXX",
"                  ",
"                  "};