\r
--------------------------\r
Changes in 1.9 (not yet released)\r
+- Slightly changed close window handling on X11 (optimized and avoids problems on some shells). Thanks @TheBrokenRail for a patch (was part of patch #322).\r
- Add getActiveColor functions to IGUIStaticText and IGUIButton (get currently used color).\r
- Add IGUIEnvironment::addToDeletionQueue to allow save removal of gui elements while iterating over them (like the same named function in ISceneManager).\r
- IGUIEnvironment::drawAll has now a parameter to allow disabling automatic resize to screensize. Makes it easier to use partial screens with full alignment support.\r
Atom X_ATOM_NETWM_MAXIMIZE_VERT;\r
Atom X_ATOM_NETWM_MAXIMIZE_HORZ;\r
Atom X_ATOM_NETWM_STATE;\r
+\r
+ Atom X_ATOM_WM_DELETE_WINDOW;\r
};\r
\r
namespace irr\r
{\r
-\r
-const char wmDeleteWindow[] = "WM_DELETE_WINDOW";\r
-\r
//! constructor\r
CIrrDeviceLinux::CIrrDeviceLinux(const SIrrlichtCreationParameters& param)\r
: CIrrDeviceStub(param),\r
\r
XMapRaised(XDisplay, XWindow);\r
CreationParams.WindowId = (void*)XWindow;\r
- Atom wmDelete;\r
- wmDelete = XInternAtom(XDisplay, wmDeleteWindow, True);\r
- XSetWMProtocols(XDisplay, XWindow, &wmDelete, 1);\r
+ X_ATOM_WM_DELETE_WINDOW = XInternAtom(XDisplay, "WM_DELETE_WINDOW", True);\r
+ XSetWMProtocols(XDisplay, XWindow, &X_ATOM_WM_DELETE_WINDOW, 1);\r
if (CreationParams.Fullscreen)\r
{\r
XSetInputFocus(XDisplay, XWindow, RevertToParent, CurrentTime);\r
\r
case ClientMessage:\r
{\r
- char *atom = XGetAtomName(XDisplay, event.xclient.message_type);\r
- if (*atom == *wmDeleteWindow)\r
+ if (static_cast<Atom>(event.xclient.data.l[0]) == X_ATOM_WM_DELETE_WINDOW && X_ATOM_WM_DELETE_WINDOW != None)\r
{\r
os::Printer::log("Quit message received.", ELL_INFORMATION);\r
Close = true;\r
irrevent.UserEvent.UserData2 = static_cast<size_t>(event.xclient.data.l[1]);\r
postEventFromUser(irrevent);\r
}\r
- XFree(atom);\r
}\r
break;\r
\r
ifdef EMSCRIPTEN\r
CXXFLAGS += -std=gnu++11 -U__STRICT_ANSI__\r
ifndef NDEBUG\r
- CFLAGS := -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES\r
+ CFLAGS := -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES -DPNG_ARM_NEON_OPT=0\r
else\r
- CFLAGS := -O3 -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES\r
+ CFLAGS := -O3 -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES -DPNG_ARM_NEON_OPT=0\r
endif\r
ifdef WASM\r
CXXFLAGS += -s WASM=1\r
endif \r
else\r
- CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES\r
+ CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES -DPNG_ARM_NEON_OPT=0\r
endif\r
\r
sharedlib sharedlib_osx: CXXFLAGS += -fPIC\r