diff options
Diffstat (limited to 'mail/xfmail/files/patch-src-ui_xfmail.cpp')
-rw-r--r-- | mail/xfmail/files/patch-src-ui_xfmail.cpp | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/mail/xfmail/files/patch-src-ui_xfmail.cpp b/mail/xfmail/files/patch-src-ui_xfmail.cpp new file mode 100644 index 000000000000..83152bbe1564 --- /dev/null +++ b/mail/xfmail/files/patch-src-ui_xfmail.cpp @@ -0,0 +1,82 @@ +--- src/ui/xfmail.cpp.orig 2011-09-06 15:08:01.000000000 +0200 ++++ src/ui/xfmail.cpp 2011-09-06 15:28:40.000000000 +0200 +@@ -42,6 +42,70 @@ + #include "addrbook_util.h" + #include "tip.h" + ++ ++/* ++ * This belongs to xforms' implementation ++ */ ++enum { ++ FLI_FIND_INPUT, ++ FLI_FIND_AUTOMATIC, ++ FLI_FIND_MOUSE, ++ FLI_FIND_CANVAS, ++ FLI_FIND_KEYSPECIAL, ++ FLI_FIND_RETURN ++}; ++ ++FL_OBJECT * ++fli_find_object( FL_OBJECT * obj, ++ int find, ++ FL_Coord mx, ++ FL_Coord my ) ++{ ++ while ( obj ) ++ { ++ if ( obj->objclass != FL_BEGIN_GROUP ++ && obj->objclass != FL_END_GROUP ++ && obj->visible ++ && ( obj->active ++ || ( obj->posthandle && ! obj->active ) ++ || ( obj->tooltip && *obj->tooltip && ! obj->active ) ) ) ++ { ++ if ( find == FLI_FIND_INPUT && obj->input && obj->active ) ++ return obj; ++ ++ if ( find == FLI_FIND_AUTOMATIC && obj->automatic ) ++ return obj; ++ ++ if ( find == FLI_FIND_RETURN && obj->type == FL_RETURN_BUTTON ) ++ return obj; ++ ++ if ( find == FLI_FIND_MOUSE ++ && mx >= obj->x ++ && mx <= obj->x + obj->w ++ && my >= obj->y ++ && my <= obj->y + obj->h ) ++ return obj; ++ ++ if ( find == FLI_FIND_KEYSPECIAL && obj->wantkey & FL_KEY_SPECIAL ) ++ return obj; ++ } ++ ++ obj = obj->next; ++ } ++ ++ return NULL; ++} ++ ++ ++FL_OBJECT * ++fli_find_first( FL_FORM * form, ++ int find, ++ FL_Coord mx, ++ FL_Coord my ) ++{ ++ return fli_find_object( form->first, find, mx, my ); ++} ++ + static void usage(char *s, int die) { + char **q = helps; + +@@ -486,7 +550,7 @@ + break; + + case FL_MOUSE: +- obj = fl_find_first(main_form, FL_FIND_MOUSE, mx, my); ++ obj = fli_find_first(main_form, FLI_FIND_MOUSE, mx, my); + + switch(dragndrop) { + case -1: |