1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-01-07 14:24:14 +01:00

- Fixed focus handling for windows that set WM_HINTS.take_focus = False.

- Misc fixes.
- Improved a bit the python wrapper.
- Build po files before 'make install'
This commit is contained in:
dan
2002-12-20 17:47:31 +00:00
parent 55d37178a0
commit 064f79ebae
17 changed files with 225 additions and 203 deletions

View File

@@ -62,36 +62,31 @@ static WMEventHook *extraEventHandler=NULL;
* WMCreateEventHandler--
* Create an event handler and put it in the event handler list for the
* view. If the same callback and clientdata are already used in another
* handler, the masks are swapped.
* handler, the masks are OR'ed.
*
*/
void
WMCreateEventHandler(WMView *view, unsigned long mask, WMEventProc *eventProc,
void *clientData)
{
W_EventHandler *handler, *ptr;
unsigned long eventMask;
W_EventHandler *hPtr;
WMArrayIterator iter;
handler = NULL;
eventMask = mask;
WM_ITERATE_ARRAY(view->eventHandlers, ptr, iter) {
if (ptr->clientData == clientData && ptr->proc == eventProc) {
handler = ptr;
eventMask |= ptr->eventMask;
WM_ITERATE_ARRAY(view->eventHandlers, hPtr, iter) {
if (hPtr->clientData==clientData && hPtr->proc==eventProc) {
hPtr->eventMask |= mask;
return;
}
}
if (!handler) {
handler = wmalloc(sizeof(W_EventHandler));
WMAddToArray(view->eventHandlers, handler);
}
hPtr = wmalloc(sizeof(W_EventHandler));
/* select events for window */
handler->eventMask = eventMask;
handler->proc = eventProc;
handler->clientData = clientData;
hPtr->eventMask = mask;
hPtr->proc = eventProc;
hPtr->clientData = clientData;
WMAddToArray(view->eventHandlers, hPtr);
}