From: <enl...@li...> - 2001-10-15 22:36:01
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: yay! new api calls :) (auto replay of button pre3sses due to button grabs now...) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- Ecore.h 2001/10/08 06:50:16 1.28 +++ Ecore.h 2001/10/15 22:35:57 1.29 @@ -38,6 +38,8 @@ #define XEV_PROPERTY PropertyChangeMask #define XEV_COLORMAP ColormapChangeMask +extern XContext xid_context; + typedef struct _e_xid E_XID; typedef struct _e_keygrab E_KeyGrab; @@ -66,6 +68,10 @@ int gravity; int coords_invalid; int bw; + int grab_button_auto_replay; + int grab_button_button; + Ev_Key_Modifiers grab_button_mods; + int grab_button_any_mod; }; #ifdef __cplusplus @@ -301,6 +307,9 @@ Cursor e_cursor_new(Pixmap pmap, Pixmap mask, int x, int y, int fr, int fg, int fb, int br, int bg, int bb); void e_cursor_free(Cursor c); void e_cursor_set(Window win, Cursor c); + +void e_window_button_grab_auto_replay_set(Window win, int on); +int e_window_button_grab_auto_replay_get(Window win); typedef struct _eev Eevent; typedef struct _ev_fd_handler Ev_Fd_Handler; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_ev_x.c 2001/03/18 01:07:19 1.16 +++ e_ev_x.c 2001/10/15 22:35:57 1.17 @@ -406,6 +406,26 @@ e->double_click = 1; } e_add_event(EV_MOUSE_DOWN, e, e_ev_generic_free); + { + E_XID *xid = NULL; + + if (XFindContext(xevent->xbutton.display, e->win, + xid_context, (XPointer *) & xid) != XCNOENT) + { + if (xid->grab_button_auto_replay) + { + if ((xid->grab_button_button == 0) || + (xid->grab_button_button == e->button)) + { + if ((xid->grab_button_any_mod) || + (xid->grab_button_mods == e->mods)) + { + e_pointer_replay(e->time); + } + } + } + } + } } last_last_window = last_window; last_window = xevent->xbutton.window; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -3 -r1.32 -r1.33 --- e_x.c 2001/10/08 06:51:14 1.32 +++ e_x.c 2001/10/15 22:35:57 1.33 @@ -20,6 +20,8 @@ Window_List *next; }; +XContext xid_context = 0; + static Display *disp; static Visual *default_vis; static Colormap default_cm; @@ -27,8 +29,6 @@ static Window default_win; static Window default_root; -static XContext xid_context = 0; - static int lock_scroll = 0; static int lock_num = 0; static int lock_caps = 0; @@ -210,6 +210,10 @@ xid->children = NULL; xid->gravity = e_window_get_gravity(win); xid->bw = 0; + xid->grab_button_auto_replay = 0; + xid->grab_button_button = 0; + xid->grab_button_mods = EV_KEY_MODIFIER_NONE; + xid->grab_button_any_mod = 0; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); e_add_child(parent, win); return xid; @@ -269,6 +273,10 @@ xid->mouse_in = 0; xid->gravity = att.win_gravity; xid->bw = att.border_width; + xid->grab_button_auto_replay = 0; + xid->grab_button_button = 0; + xid->grab_button_mods = EV_KEY_MODIFIER_NONE; + xid->grab_button_any_mod = 0; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); e_add_child(xid->parent, win); } @@ -2779,13 +2787,36 @@ } void +e_window_button_grab_auto_replay_set(Window win, int on) +{ + E_XID *xid = NULL; + + xid = e_validate_xid(win); + if (!xid) return; + xid->grab_button_auto_replay = on; +} + +int +e_window_button_grab_auto_replay_get(Window win) +{ + E_XID *xid = NULL; + + xid = e_validate_xid(win); + if (!xid) return 0; + return xid->grab_button_auto_replay; +} + +void e_button_grab(Window win, int button, int events, Ev_Key_Modifiers mod, int any_mod) { unsigned int b; unsigned int m; unsigned int locks[8]; int i; + E_XID *xid = NULL; + xid = e_validate_xid(win); + if (!xid) return; b = button; if (b == 0) b = AnyButton; m = 0; @@ -2805,6 +2836,9 @@ locks[5] = e_lock_mask_caps_get() | e_lock_mask_scroll_get(); locks[6] = e_lock_mask_num_get() | e_lock_mask_scroll_get(); locks[7] = e_lock_mask_caps_get() | e_lock_mask_num_get() | e_lock_mask_scroll_get(); + xid->grab_button_button = button; + xid->grab_button_any_mod = any_mod; + xid->grab_button_mods = m; for (i = 0; i < 8; i++) XGrabButton(disp, b, m | locks[i], win, False, events, @@ -2818,7 +2852,11 @@ unsigned int m; unsigned int locks[8]; int i; + E_XID *xid = NULL; + xid = e_validate_xid(win); + if (!xid) return; + xid->grab_button_auto_replay = 0; b = button; if (b == 0) b = AnyButton; m = 0; |
From: <enl...@li...> - 2001-10-15 22:39:16
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: silly me. do it mroe simply =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.29 retrieving revision 1.30 diff -u -3 -r1.29 -r1.30 --- Ecore.h 2001/10/15 22:35:57 1.29 +++ Ecore.h 2001/10/15 22:39:14 1.30 @@ -69,9 +69,6 @@ int coords_invalid; int bw; int grab_button_auto_replay; - int grab_button_button; - Ev_Key_Modifiers grab_button_mods; - int grab_button_any_mod; }; #ifdef __cplusplus =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- e_ev_x.c 2001/10/15 22:35:57 1.17 +++ e_ev_x.c 2001/10/15 22:39:14 1.18 @@ -414,15 +414,7 @@ { if (xid->grab_button_auto_replay) { - if ((xid->grab_button_button == 0) || - (xid->grab_button_button == e->button)) - { - if ((xid->grab_button_any_mod) || - (xid->grab_button_mods == e->mods)) - { - e_pointer_replay(e->time); - } - } + e_pointer_replay(e->time); } } } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- e_x.c 2001/10/15 22:35:57 1.33 +++ e_x.c 2001/10/15 22:39:14 1.34 @@ -211,9 +211,6 @@ xid->gravity = e_window_get_gravity(win); xid->bw = 0; xid->grab_button_auto_replay = 0; - xid->grab_button_button = 0; - xid->grab_button_mods = EV_KEY_MODIFIER_NONE; - xid->grab_button_any_mod = 0; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); e_add_child(parent, win); return xid; @@ -274,9 +271,6 @@ xid->gravity = att.win_gravity; xid->bw = att.border_width; xid->grab_button_auto_replay = 0; - xid->grab_button_button = 0; - xid->grab_button_mods = EV_KEY_MODIFIER_NONE; - xid->grab_button_any_mod = 0; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); e_add_child(xid->parent, win); } @@ -2836,9 +2830,6 @@ locks[5] = e_lock_mask_caps_get() | e_lock_mask_scroll_get(); locks[6] = e_lock_mask_num_get() | e_lock_mask_scroll_get(); locks[7] = e_lock_mask_caps_get() | e_lock_mask_num_get() | e_lock_mask_scroll_get(); - xid->grab_button_button = button; - xid->grab_button_any_mod = any_mod; - xid->grab_button_mods = m; for (i = 0; i < 8; i++) XGrabButton(disp, b, m | locks[i], win, False, events, |
From: <enl...@li...> - 2001-10-15 22:44:11
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: and dont reset on ungrab... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- e_x.c 2001/10/15 22:39:14 1.34 +++ e_x.c 2001/10/15 22:44:10 1.35 @@ -2807,10 +2807,7 @@ unsigned int m; unsigned int locks[8]; int i; - E_XID *xid = NULL; - xid = e_validate_xid(win); - if (!xid) return; b = button; if (b == 0) b = AnyButton; m = 0; @@ -2843,11 +2840,7 @@ unsigned int m; unsigned int locks[8]; int i; - E_XID *xid = NULL; - xid = e_validate_xid(win); - if (!xid) return; - xid->grab_button_auto_replay = 0; b = button; if (b == 0) b = AnyButton; m = 0; |
From: <enl...@li...> - 2001-10-21 13:37:18
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: nooo nooo. it was right. we're not allocating an array of poitners to char. we're allocating an array (or reallocing in this case) an array of char's of size (size +1 amd size +2 respectively) :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- e_x.c 2001/10/21 13:04:22 1.38 +++ e_x.c 2001/10/21 13:37:17 1.39 @@ -2341,13 +2341,13 @@ s = NULL; size = strlen(cargv[0]); - REALLOC(s, char *, size + 1); + REALLOC(s, char, size + 1); strcpy(s, cargv[0]); for (i = 1; i < cargc; i++) { size += strlen(cargv[i]); - REALLOC(s, char *, size + 2); + REALLOC(s, char, size + 2); strcat(s, " "); strcat(s, cargv[i]); |
From: <enl...@li...> - 2001-10-21 21:53:11
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: oops.. i changed he code around a bit then realised i simply forgot to initialise the string to "" - thats what the problem was :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- e_x.c 2001/10/21 13:37:17 1.39 +++ e_x.c 2001/10/21 21:53:08 1.40 @@ -2329,36 +2329,36 @@ char * ecore_window_get_command(Window win) { - int cargc; - char **cargv; - - if (XGetCommand(disp, win, &cargv, &cargc)) - { - if (cargc > 0) - { - char *s; - int size, i; - - s = NULL; - size = strlen(cargv[0]); - REALLOC(s, char, size + 1); - - strcpy(s, cargv[0]); - for (i = 1; i < cargc; i++) - { - size += strlen(cargv[i]); - REALLOC(s, char, size + 2); - - strcat(s, " "); - strcat(s, cargv[i]); - } - XFreeStringList(cargv); - return s; - } - else - return NULL; - } - return NULL; + int cargc; + char **cargv; + + if (XGetCommand(disp, win, &cargv, &cargc)) + { + if (cargc > 0) + { + char *s; + int size, i; + + size = 0; + for (i = 0; i < cargc; i++) + size += strlen(cargv[i]); + size += cargc - 1; + s = NEW(char, size + 1); + s[0] = 0; + + strcpy(s, cargv[0]); + for (i = 1; i < cargc; i++) + { + strcat(s, " "); + strcat(s, cargv[i]); + } + XFreeStringList(cargv); + return s; + } + else + return NULL; + } + return NULL; } char * |
From: <enl...@li...> - 2001-10-25 03:27:58
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: if no display set up.. fail gracefully and dont segv =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- e_x.c 2001/10/21 21:53:08 1.40 +++ e_x.c 2001/10/25 03:27:56 1.41 @@ -91,6 +91,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) return; if (xid) @@ -118,6 +119,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) return; if (xid) @@ -144,6 +146,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) return; if (xid) @@ -170,6 +173,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) return; if (xid) @@ -223,6 +227,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return NULL; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) { XWindowAttributes att; @@ -284,6 +289,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (XFindContext(disp, win, xid_context, (XPointer *) & xid) == XCNOENT) return; if (xid) @@ -302,12 +308,14 @@ void ecore_sync(void) { + if (!disp) return; XSync(disp, False); } void ecore_flush(void) { + if (!disp) return; XFlush(disp); } @@ -317,6 +325,7 @@ Window win; XSetWindowAttributes attr; + if (!disp) return 0; if (!parent) parent = default_root; attr.backing_store = NotUseful; @@ -344,6 +353,7 @@ Window win; XSetWindowAttributes attr; + if (!disp) return 0; if (!parent) parent = default_root; attr.backing_store = NotUseful; @@ -371,6 +381,7 @@ Window win; XSetWindowAttributes attr; + if (!disp) return 0; if (!parent) parent = default_root; attr.override_redirect = True; @@ -390,6 +401,7 @@ { XSetWindowAttributes attr; + if (!disp) return; if (!win) win = default_root; if (!propagate) @@ -404,6 +416,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -419,6 +432,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -432,6 +446,7 @@ Pixmap ecore_pixmap_new(Window win, int w, int h, int dep) { + if (!disp) return 0; if (!win) win = default_win; if (dep == 0) @@ -442,6 +457,7 @@ void ecore_pixmap_free(Pixmap pmap) { + if (!disp) return; if (!pmap) return; XFreePixmap(disp, pmap); @@ -450,24 +466,28 @@ void ecore_window_set_background_pixmap(Window win, Pixmap pmap) { + if (!disp) return; XSetWindowBackgroundPixmap(disp, win, pmap); } void ecore_window_set_shape_mask(Window win, Pixmap mask) { + if (!disp) return; XShapeCombineMask(disp, win, ShapeBounding, 0, 0, mask, ShapeSet); } void ecore_window_add_shape_mask(Window win, Pixmap mask) { + if (!disp) return; XShapeCombineMask(disp, win, ShapeBounding, 0, 0, mask, ShapeUnion); } void ecore_window_set_shape_window(Window win, Window src, int x, int y) { + if (!disp) return; XShapeCombineShape(disp, win, ShapeBounding, x, y, src, ShapeBounding, ShapeSet); } @@ -475,6 +495,7 @@ void ecore_window_add_shape_window(Window win, Window src, int x, int y) { + if (!disp) return; XShapeCombineShape(disp, win, ShapeBounding, x, y, src, ShapeBounding, ShapeUnion); } @@ -484,6 +505,7 @@ { XRectangle rect; + if (!disp) return; rect.x = x; rect.y = y; rect.width = w; @@ -497,6 +519,7 @@ { XRectangle rect; + if (!disp) return; rect.x = x; rect.y = y; rect.width = w; @@ -508,6 +531,7 @@ void ecore_window_set_shape_rectangles(Window win, XRectangle * rect, int num) { + if (!disp) return; XShapeCombineRectangles(disp, win, ShapeBounding, 0, 0, rect, num, ShapeSet, Unsorted); } @@ -515,6 +539,7 @@ void ecore_window_add_shape_rectangles(Window win, XRectangle * rect, int num) { + if (!disp) return; XShapeCombineRectangles(disp, win, ShapeBounding, 0, 0, rect, num, ShapeUnion, Unsorted); } @@ -524,6 +549,7 @@ { XRectangle rect; + if (!disp) return; rect.x = x; rect.y = y; rect.width = w; @@ -537,30 +563,35 @@ { int ord; + if (!disp) return NULL; return XShapeGetRectangles(disp, win, ShapeBounding, num, &ord); } void ecore_window_select_shape_events(Window win) { + if (!disp) return; XShapeSelectInput(disp, win, ShapeNotifyMask); } void ecore_window_unselect_shape_events(Window win) { + if (!disp) return; XShapeSelectInput(disp, win, 0); } void ecore_window_clear(Window win) { + if (!disp) return; XClearWindow(disp, win); } void ecore_window_clear_area(Window win, int x, int y, int w, int h) { + if (!disp) return; XClearArea(disp, win, x, y, w, h, False); } @@ -571,6 +602,7 @@ unsigned int dm; int wx, wy; + if (!disp) return; if (win == 0) win = default_root; XQueryPointer(disp, win, &dw, &dw, &mouse_x, &mouse_y, &wx, &wy, &dm); @@ -583,6 +615,7 @@ void ecore_pointer_xy_set(int x, int y) { + if (!disp) return; mouse_x = x; mouse_y = y; } @@ -590,6 +623,7 @@ void ecore_pointer_xy_get(int *x, int *y) { + if (!disp) return; if (x) *x = mouse_x; if (y) @@ -599,6 +633,7 @@ void ecore_window_set_events(Window win, long mask) { + if (!disp) return; if (win == 0) win = default_root; XSelectInput(disp, win, mask); @@ -609,6 +644,7 @@ { XWindowAttributes att; + if (!disp) return; if (win == 0) win = default_root; if (XGetWindowAttributes(disp, win, &att) == True) @@ -623,6 +659,7 @@ { XWindowAttributes att; + if (!disp) return; if (win == 0) win = default_root; if (XGetWindowAttributes(disp, win, &att) == True) @@ -637,6 +674,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -720,6 +758,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -741,6 +780,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -762,18 +802,21 @@ int ecore_x_get_fd(void) { + if (!disp) return 0; return ConnectionNumber(disp); } void ecore_set_error_handler(Ecore_Error_Function func) { + if (!disp) return; XSetErrorHandler((XErrorHandler) func); } void ecore_reset_error_handler(void) { + if (!disp) return; XSetErrorHandler((XErrorHandler) ecore_handle_x_error); } @@ -828,14 +871,14 @@ int ecore_events_pending(void) { - if (!disp) - return 0; + if (!disp) return 0; return XPending(disp); } void ecore_get_next_event(XEvent * event) { + if (!disp) return; XNextEvent(disp, event); } @@ -844,6 +887,7 @@ { int base = -1, err_base; + if (!disp) return 0; XShapeQueryExtension(disp, &base, &err_base); base += ShapeNotify; return base; @@ -852,6 +896,7 @@ KeySym ecore_key_get_keysym_from_keycode(KeyCode keycode) { + if (!disp) return 0; return XKeycodeToKeysym(disp, keycode, 0); } @@ -860,6 +905,7 @@ { char *str; + if (!disp) return strdup(""); str = XKeysymToString(ecore_key_get_keysym_from_keycode(keycode)); if (!str) return strdup(""); @@ -869,6 +915,7 @@ void ecore_event_allow(int mode, Time t) { + if (!disp) return; XAllowEvents(disp, mode, t); } @@ -885,6 +932,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -926,6 +974,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -967,6 +1016,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -1008,6 +1058,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -1049,6 +1100,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -1090,6 +1142,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -1131,6 +1184,7 @@ Mod4Mask, Mod5Mask }; + if (!disp) return 0; if (have_mask) return mask; mod = XGetModifierMapping(disp); @@ -1171,6 +1225,7 @@ int root_x_ret, root_y_ret, win_x_ret, win_y_ret; unsigned int mask_ret; + if (!disp) return 0; if (!mask) mask = ecore_lock_mask_scroll_get() | ecore_lock_mask_num_get() | ecore_lock_mask_caps_get(); @@ -1186,6 +1241,7 @@ int root_x_ret, root_y_ret, win_x_ret, win_y_ret; unsigned int mask_ret; + if (!disp) return 0; XQueryPointer(disp, default_root, &root_ret, &child_ret, &root_x_ret, &root_y_ret, &win_x_ret, &win_y_ret, &mask_ret); return (mask_ret); @@ -1194,6 +1250,7 @@ Window ecore_get_key_grab_win(void) { + if (!disp) return 0; return grabkey_win; } @@ -1203,6 +1260,7 @@ KeyCode keycode; int i, mod, mask_scroll, mask_num, mask_caps, masks[8], mode; + if (!disp) return; keycode = ecore_key_get_keycode(key); mod = 0; mode = GrabModeAsync; @@ -1243,6 +1301,7 @@ { KeyCode keycode; + if (!disp) return; keycode = ecore_key_get_keycode(key); if (anymod) XUngrabKey(disp, keycode, AnyModifier, default_root); @@ -1278,12 +1337,14 @@ KeyCode ecore_key_get_keycode(char *key) { + if (!disp) return 0; return XKeysymToKeycode(disp, XStringToKeysym(key)); } void ecore_window_destroy(Window win) { + if (!disp) return; ecore_unvalidate_xid(win); XDestroyWindow(disp, win); } @@ -1293,6 +1354,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -1312,6 +1374,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -1325,6 +1388,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -1338,6 +1402,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (win == 0) win = default_root; xid = ecore_validate_xid(win); @@ -1383,6 +1448,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; if (win == 0) win = default_root; xid = ecore_validate_xid(win); @@ -1396,6 +1462,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; xid = ecore_validate_xid(win); if (xid) return 1; @@ -1407,6 +1474,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; xid = ecore_validate_xid(win); if (xid) return xid->parent; @@ -1418,6 +1486,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return NULL; if (win == 0) win = default_root; xid = ecore_validate_xid(win); @@ -1442,6 +1511,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; if (win == 0) win = default_root; xid = ecore_validate_xid(win); @@ -1455,6 +1525,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; if (win == 0) win = default_root; xid = ecore_validate_xid(win); @@ -1473,6 +1544,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; xid = ecore_validate_xid(win); if (xid) return xid->root; @@ -1578,6 +1650,7 @@ void ecore_focus_to_window(Window win) { + if (!disp) return; if (win == 0) win = default_root; XSetInputFocus(disp, win, RevertToPointerRoot, CurrentTime); @@ -1586,6 +1659,7 @@ Atom ecore_atom_get(char *name) { + if (!disp) return 0; return XInternAtom(disp, name, False); } @@ -1594,6 +1668,7 @@ { static Atom protocols[1] = { 0 }; + if (!disp) return; ECORE_ATOM(protocols[0], "WM_DELETE_WINDOW"); XSetWMProtocols(disp, win, protocols, 1); } @@ -1602,6 +1677,7 @@ ecore_window_property_set(Window win, Atom type, Atom format, int size, void *data, int number) { + if (!disp) return; if (win == 0) win = default_root; if (size != 32) @@ -1631,6 +1707,7 @@ int format_ret; void *data = NULL; + if (!disp) return; retval = NULL; if (win == 0) win = default_root; @@ -1682,6 +1759,7 @@ static Atom atom_xdndaware = 0; int dnd_version = 3; + if (!disp) return; ECORE_ATOM(atom_xdndaware, "XdndAware"); ecore_window_property_set(win, atom_xdndaware, XA_ATOM, 32, &dnd_version, 1); } @@ -1689,6 +1767,7 @@ void ecore_grab(void) { + if (!disp) return; x_grabs++; if (x_grabs == 1) XGrabServer(disp); @@ -1697,6 +1776,7 @@ void ecore_ungrab(void) { + if (!disp) return; x_grabs--; if (x_grabs == 0) { @@ -1710,6 +1790,7 @@ { Window_List *w; + if (!disp) return; if (win == 0) win = default_root; w = NEW(Window_List, 1); @@ -1723,6 +1804,7 @@ { Window_List *w, *pw; + if (!disp) return; if (win == 0) win = default_root; for (pw = NULL, w = ignore_wins; w; pw = w, w = w->next) @@ -1744,6 +1826,7 @@ { Window_List *w; + if (!disp) return 0; if (win == 0) win = default_root; for (w = ignore_wins; w; w = w->next) @@ -1764,6 +1847,7 @@ unsigned int ww, wh, num; int wx, wy; + if (!disp) return 0; if ((!XGetWindowAttributes(disp, base, &att)) || (att.map_state != IsViewable)) return 0; @@ -1806,6 +1890,7 @@ { Window child; + if (!disp) return 0; ecore_grab(); child = ecore_window_at_xy_0(default_root, 0, 0, x, y); if (child) @@ -1825,6 +1910,7 @@ int *atom_ret; int size = 0; + if (!disp) return 0; ECORE_ATOM(atom_xdndaware, "XdndAware"); atom_ret = ecore_window_property_get(win, atom_xdndaware, XA_ATOM, &size); if ((atom_ret) && (size >= (int)sizeof(int))) @@ -1855,6 +1941,7 @@ Window win; XEvent xevent; + if (!disp) return; win = ecore_window_get_at_xy(x, y); while ((win) && (!ecore_window_dnd_capable(win))) win = ecore_window_get_parent(win); @@ -1964,6 +2051,7 @@ static Atom atom_xdndselection = 0; static Atom atom_jxselectionwindowproperty = 0; + if (!disp) return; ECORE_ATOM(atom_xdndselection, "XdndSelection"); ECORE_ATOM(atom_jxselectionwindowproperty, "JXSelectionWindowProperty"); if (win == XGetSelectionOwner(disp, atom_xdndselection)) @@ -1982,6 +2070,7 @@ long bytes_read; unsigned long remaining = 1; + if (!disp) return NULL; *size = 0; bytes_read = 0; while (remaining) @@ -2031,6 +2120,7 @@ static Atom atom_xdndactionlist = 0; static Atom atom_xdndselection = 0; + if (!disp) return; ECORE_ATOM(atom_xdndactioncopy, "XdndActionCopy"); ECORE_ATOM(atom_xdndactionmove, "XdndActionMove"); ECORE_ATOM(atom_xdndactionlink, "XdndActionLink"); @@ -2062,6 +2152,7 @@ static Atom atom_xdndselection = 0; Atom target; + if (!disp) return; ECORE_ATOM(atom_xdndselection, "XdndSelection"); ECORE_ATOM(atom_text_uri_list, "text/uri-list"); ECORE_ATOM(atom_text_plain, "text/plain"); @@ -2119,6 +2210,7 @@ static Atom atom_xdndselection = 0; static Atom atom_jxselectionwindowproperty = 0; + if (!disp) return; ECORE_ATOM(atom_xdndselection, "XdndSelection"); ECORE_ATOM(atom_jxselectionwindowproperty, "JXSelectionWindowProperty"); @@ -2132,6 +2224,7 @@ static Atom atom_xdnddrop = 0; XEvent xevent; + if (!disp) return; ECORE_ATOM(atom_xdnddrop, "XdndDrop"); ecore_dnd_own_selection(source_win); @@ -2162,6 +2255,7 @@ static Atom atom_xdndactionask = 0; XEvent xevent; + if (!disp) return; ECORE_ATOM(atom_xdndstatus, "XdndStatus"); ECORE_ATOM(atom_xdndactioncopy, "XdndActionCopy"); ECORE_ATOM(atom_xdndactionmove, "XdndActionMove"); @@ -2196,6 +2290,7 @@ static Atom atom_xdndfinished = 0; XEvent xevent; + if (!disp) return; ECORE_ATOM(atom_xdndfinished, "XdndFinished"); memset(&xevent, 0, sizeof(xevent)); @@ -2228,6 +2323,7 @@ void ecore_window_set_title(Window win, char *title) { + if (!disp) return; XStoreName(disp, win, title); } @@ -2236,6 +2332,7 @@ { XClassHint hint; + if (!disp) return; hint.res_name = name; hint.res_class = class; XSetClassHint(disp, win, &hint); @@ -2246,6 +2343,7 @@ { XClassHint xch; + if (!disp) return; if (name) *name = NULL; if (class) @@ -2274,6 +2372,7 @@ { XWMHints *hints; + if (!disp) return; hints = XGetWMHints(disp, win); if (hints) { @@ -2313,6 +2412,7 @@ { XTextProperty xtp; + if (!disp) return NULL; if (XGetWMClientMachine(disp, win, &xtp)) { char *s; @@ -2332,6 +2432,7 @@ int cargc; char **cargv; + if (!disp) return NULL; if (XGetCommand(disp, win, &cargv, &cargc)) { if (cargc > 0) @@ -2366,6 +2467,7 @@ { XTextProperty xtp; + if (!disp) return NULL; if (XGetWMIconName(disp, win, &xtp)) { char *s; @@ -2385,6 +2487,7 @@ XSizeHints hints; long ret; + if (!disp) return; memset(&hints, 0, sizeof(XSizeHints)); XGetWMNormalHints(disp, win, &hints, &ret); hints.flags |= PMinSize | PSize | USSize; @@ -2399,6 +2502,7 @@ XSizeHints hints; long ret; + if (!disp) return; memset(&hints, 0, sizeof(XSizeHints)); XGetWMNormalHints(disp, win, &hints, &ret); hints.flags |= PMaxSize | PSize | USSize; @@ -2413,6 +2517,7 @@ XSizeHints hints; long ret; + if (!disp) return; memset(&hints, 0, sizeof(XSizeHints)); XGetWMNormalHints(disp, win, &hints, &ret); hints.flags |= PPosition | USPosition | PSize | USSize; @@ -2427,6 +2532,7 @@ static Atom atom_e_frame_size = 0; int *data, size; + if (!disp) return; ECORE_ATOM(atom_e_frame_size, "_E_FRAME_SIZE"); data = ecore_window_property_get(win, atom_e_frame_size, XA_CARDINAL, &size); if (data) @@ -2474,6 +2580,7 @@ XSetWindowAttributes att; XWindowAttributes gatt; + if (!disp) return 0; att.save_under = True; XChangeWindowAttributes(disp, win, CWSaveUnder, &att); XGetWindowAttributes(disp, win, &gatt); @@ -2485,6 +2592,7 @@ { XGCValues gcv; + if (!disp) return 0; if (d == 0) d = default_root; return XCreateGC(disp, d, 0, &gcv); @@ -2493,36 +2601,42 @@ void ecore_gc_free(GC gc) { + if (!disp) return; XFreeGC(disp, gc); } void ecore_gc_set_fg(GC gc, int val) { + if (!disp) return; XSetForeground(disp, gc, val); } void ecore_fill_rectangle(Drawable d, GC gc, int x, int y, int w, int h) { + if (!disp) return; XFillRectangle(disp, d, gc, x, y, w, h); } void ecore_draw_rectangle(Drawable d, GC gc, int x, int y, int w, int h) { + if (!disp) return; XDrawRectangle(disp, d, gc, x, y, w - 1, h - 1); } void ecore_draw_line(Drawable d, GC gc, int x1, int y1, int x2, int y2) { + if (!disp) return; XDrawLine(disp, d, gc, x1, y1, x2, y2); } void ecore_draw_point(Drawable d, GC gc, int x, int y) { + if (!disp) return; XDrawPoint(disp, d, gc, x, y); } @@ -2531,6 +2645,7 @@ { static Atom atom_win_layer = 0; + if (!disp) return; ECORE_ATOM(atom_win_layer, "_WIN_LAYER"); ecore_window_property_set(win, atom_win_layer, XA_CARDINAL, 32, &layer, 1); } @@ -2542,6 +2657,7 @@ static Atom atom_win_hints = 0; int data; + if (!disp) return; ECORE_ATOM(atom_win_state, "_WIN_STATE"); ECORE_ATOM(atom_win_hints, "_WIN_HINTS"); if (sticky) @@ -2565,6 +2681,7 @@ static Atom atom_motif_wm_hints = 0; int data[5]; + if (!disp) return; ECORE_ATOM(atom_motif_wm_hints, "_MOTIF_WM_HINTS"); data[0] = 0x3; data[1] = 0x0; @@ -2580,6 +2697,7 @@ { int ret; + if (!disp) return; if (confine) ret = XGrabPointer(disp, win, False, XEV_BUTTON | XEV_MOUSE_MOVE | XEV_IN_OUT, @@ -2595,6 +2713,7 @@ void ecore_ungrab_mouse(void) { + if (!disp) return; XUngrabPointer(disp, CurrentTime); grab_pointer_win = 0; } @@ -2610,6 +2729,7 @@ { XWindowAttributes att; + if (!disp) return; XGetWindowAttributes(disp, win, &att); return att.win_gravity; } @@ -2619,6 +2739,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -2639,6 +2760,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -2659,6 +2781,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -2672,12 +2795,14 @@ void ecore_pointer_warp_by(int dx, int dy) { + if (!disp) return; XWarpPointer(disp, None, None, 0, 0, 0, 0, dx, dy); } void ecore_pointer_warp_to(int x, int y) { + if (!disp) return; XWarpPointer(disp, None, default_root, 0, 0, 0, 0, x, y); } @@ -2686,6 +2811,7 @@ { XGCValues gcv; + if (!disp) return; gcv.subwindow_mode = IncludeInferiors; XChangeGC(disp, gc, GCSubwindowMode, &gcv); } @@ -2694,6 +2820,7 @@ ecore_area_copy(Drawable src, Drawable dest, GC gc, int sx, int sy, int sw, int sh, int dx, int dy) { + if (!disp) return; if (src == 0) src = default_root; if (dest == 0) @@ -2713,6 +2840,7 @@ static Atom atom_win_area = 0; int *data, size; + if (!disp) return; ECORE_ATOM(atom_win_area, "_WIN_AREA"); data = ecore_window_property_get(win, atom_win_area, XA_CARDINAL, &size); if (data) @@ -2734,9 +2862,9 @@ static Atom atom_win_area = 0; int *data, size; + if (!disp) return; ECORE_ATOM(atom_win_area, "_WIN_AREA"); - data = - ecore_window_property_get(default_root, atom_win_area, XA_CARDINAL, &size); + data = ecore_window_property_get(default_root, atom_win_area, XA_CARDINAL, &size); if (data) { if (size == (sizeof(int) * 2)) @@ -2757,6 +2885,7 @@ Window parent; Ecore_XID *xid = NULL; + if (!disp) return; if (win == 0) win = default_root; if (win == default_root) @@ -2808,6 +2937,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (!xid) return; xid->grab_button_auto_replay = on; @@ -2818,6 +2948,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return 0; xid = ecore_validate_xid(win); if (!xid) return 0; return xid->grab_button_auto_replay; @@ -2832,6 +2963,7 @@ unsigned int locks[8]; int i; + if (!disp) return; b = button; if (b == 0) b = AnyButton; @@ -2873,6 +3005,7 @@ unsigned int locks[8]; int i; + if (!disp) return; b = button; if (b == 0) b = AnyButton; @@ -2907,6 +3040,7 @@ void ecore_pointer_replay(Time t) { + if (!disp) return; XSync(disp, False); XAllowEvents(disp, ReplayPointer, t); XSync(disp, False); @@ -2915,6 +3049,7 @@ void ecore_pointer_grab(Window win, Time t) { + if (!disp) return; XGrabPointer(disp, win, False, XEV_BUTTON | XEV_MOUSE_MOVE | XEV_IN_OUT, GrabModeAsync, GrabModeAsync, None, None, t); } @@ -2922,6 +3057,7 @@ void ecore_pointer_ungrab(Time t) { + if (!disp) return; XUngrabPointer(disp, t); } @@ -2930,6 +3066,7 @@ { XEvent ev; + if (!disp) return; ev.type = ConfigureNotify; ev.xconfigure.display = disp; ev.xconfigure.event = win; @@ -2950,6 +3087,7 @@ XClientMessageEvent ev; int i; + if (!disp) return; ev.type = ClientMessage; ev.window = win; ev.message_type = type; @@ -2975,18 +3113,21 @@ void ecore_window_add_to_save_set(Window win) { + if (!disp) return; XAddToSaveSet(disp, win); } void ecore_window_del_from_save_set(Window win) { + if (!disp) return; XRemoveFromSaveSet(disp, win); } void ecore_window_kill_client(Window win) { + if (!disp) return; XKillClient(disp, (XID) win); } @@ -2995,6 +3136,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -3008,6 +3150,7 @@ { Ecore_XID *xid = NULL; + if (!disp) return; xid = ecore_validate_xid(win); if (xid) { @@ -3022,6 +3165,7 @@ long sup_ret; Status ok; + if (!disp) return; ok = XGetWMNormalHints(disp, win, hints, &sup_ret); *mask = (int)sup_ret; return ok; @@ -3032,6 +3176,7 @@ { XWindowAttributes att; + if (!disp) return; if (win == 0) win = default_root; if (XGetWindowAttributes(disp, win, &att) == True) @@ -3048,6 +3193,7 @@ { XWindowAttributes att; + if (!disp) return; if (win == 0) win = default_root; if (XGetWindowAttributes(disp, win, &att) == True) @@ -3064,6 +3210,7 @@ { XWindowAttributes att; + if (!disp) return; if (win == 0) win = default_root; if (XGetWindowAttributes(disp, win, &att) == True) @@ -3079,6 +3226,7 @@ void ecore_windows_restack(Window * wins, int num) { + if (!disp) return; XRestackWindows(disp, wins, num); } @@ -3087,6 +3235,7 @@ { XWindowChanges xwc; + if (!disp) return; if (win == 0) win = default_root; xwc.sibling = above; @@ -3099,6 +3248,7 @@ { XWindowChanges xwc; + if (!disp) return; if (win == 0) win = default_root; xwc.sibling = below; @@ -3111,6 +3261,7 @@ { XTextProperty xtp; + if (!disp) return; if (win == 0) win = default_root; if (XGetWMName(disp, win, &xtp)) @@ -3146,6 +3297,7 @@ { int status; + if (!disp) return; if (keyboard_grab_win) return; if (win == 0) @@ -3161,6 +3313,7 @@ void ecore_keyboard_ungrab(void) { + if (!disp) return; if (!keyboard_grab_win) return; keyboard_grab_win = 0; @@ -3174,6 +3327,7 @@ static Atom dest = 0; Atom selection; + if (!disp) return 0; selection = X_CLIPBOARD_SELECTION; ECORE_ATOM(dest, "TEXT_SELECTION"); target = ecore_window_new(0, 0, 0, 77, 7); @@ -3196,6 +3350,7 @@ Atom selection; Window target = 0; + if (!disp) return 0; selection = X_CLIPBOARD_SELECTION; ECORE_ATOM(dest, "TEXT_SELECTION"); target = ecore_window_new(0, 0, 0, 7, 77); @@ -3214,6 +3369,7 @@ Atom actual_type; int actual_fmt; + if (!disp) return NULL; if (prop == None) return NULL; for (nread = 0, bytes_after = 1; bytes_after > 0;) @@ -3294,6 +3450,7 @@ GC gc; XGCValues gcv; + if (!disp) return; if (w == 0) w = default_root; p = XCreatePixmap(disp, w, 1, 1, 1); @@ -3315,6 +3472,7 @@ { XColor cl1, cl2; + if (!disp) return 0; cl1.pixel = 0; cl1.red = fr << 8 | fr; cl1.green = fg << 8 | fg; @@ -3331,12 +3489,14 @@ void ecore_cursor_free(Cursor c) { + if (!disp) return; XFreeCursor(disp, c); } void ecore_cursor_set(Window win, Cursor c) { + if (!disp) return; if (win == 0) win = default_root; XDefineCursor(disp, win, c); |
From: <enl...@li...> - 2001-10-30 11:06:49
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: aaah.. much better way of handling click pass-thru allowance :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- Ecore.h 2001/10/17 22:31:02 1.34 +++ Ecore.h 2001/10/30 11:06:45 1.35 @@ -56,23 +56,6 @@ typedef enum _ecore_ev_modifiers Ecore_Event_Key_Modifiers; -struct _ecore_xid -{ - Window win; - Window parent; - Window root; - int children_num; - Window *children; - int x, y, w, h; - int mapped; - int mouse_in; - int depth; - int gravity; - int coords_invalid; - int bw; - int grab_button_auto_replay; -}; - #ifdef __cplusplus extern "C" { @@ -332,9 +315,6 @@ int bb); void ecore_cursor_free(Cursor c); void ecore_cursor_set(Window win, Cursor c); - void ecore_window_button_grab_auto_replay_set(Window win, - int on); - int ecore_window_button_grab_auto_replay_get(Window win); typedef struct _ecore_event Ecore_Event; typedef struct _ecore_event_fd_handler Ecore_Event_Fd_Handler; @@ -765,6 +745,24 @@ Ecore_Event_Ipc_Service *next; }; + +struct _ecore_xid +{ + Window win; + Window parent; + Window root; + int children_num; + Window *children; + int x, y, w, h; + int mapped; + int mouse_in; + int depth; + int gravity; + int coords_invalid; + int bw; + int (*grab_button_auto_replay) (Ecore_Event_Mouse_Down *ev); +}; + void ecore_add_event(Ecore_Event_Type type, void *event, void (*ev_free) (void *event)); void ecore_del_event(void *event); @@ -801,6 +799,10 @@ void ecore_event_x_init(void); char *ecore_keypress_translate_into_typeable(Ecore_Event_Key_Down * e); + void ecore_window_button_grab_auto_replay_set(Window win, + int (*func) (Ecore_Event_Mouse_Down *ev)); + void *ecore_window_button_grab_auto_replay_get(Window win); + #define ECORE_ATOM(atom, name) \ if (!atom) (atom) = ecore_atom_get(name); #define MEMCPY(src, dst, type, num) \ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- e_ev_x.c 2001/10/16 15:45:29 1.19 +++ e_ev_x.c 2001/10/30 11:06:46 1.20 @@ -413,7 +413,8 @@ if (XFindContext(xevent->xbutton.display, e->win, xid_context, (XPointer *) & xid) != XCNOENT) { - if (xid->grab_button_auto_replay) + if ((xid->grab_button_auto_replay) && + (xid->grab_button_auto_replay(e))) { ecore_pointer_replay(e->time); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- e_x.c 2001/10/25 03:27:56 1.41 +++ e_x.c 2001/10/30 11:06:46 1.42 @@ -216,7 +216,7 @@ xid->children = NULL; xid->gravity = ecore_window_get_gravity(win); xid->bw = 0; - xid->grab_button_auto_replay = 0; + xid->grab_button_auto_replay = NULL; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); ecore_add_child(parent, win); return xid; @@ -277,7 +277,7 @@ xid->mouse_in = 0; xid->gravity = att.win_gravity; xid->bw = att.border_width; - xid->grab_button_auto_replay = 0; + xid->grab_button_auto_replay = NULL; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); ecore_add_child(xid->parent, win); } @@ -916,7 +916,7 @@ ecore_event_allow(int mode, Time t) { if (!disp) return; - XAllowEvents(disp, mode, t); + XAllowEvents(disp, mode, t); } int @@ -2933,24 +2933,24 @@ } void -ecore_window_button_grab_auto_replay_set(Window win, int on) +ecore_window_button_grab_auto_replay_set(Window win, int (*func) (Ecore_Event_Mouse_Down *ev)) { Ecore_XID *xid = NULL; if (!disp) return; xid = ecore_validate_xid(win); if (!xid) return; - xid->grab_button_auto_replay = on; + xid->grab_button_auto_replay = func; } -int +void * ecore_window_button_grab_auto_replay_get(Window win) { Ecore_XID *xid = NULL; - if (!disp) return 0; + if (!disp) return NULL; xid = ecore_validate_xid(win); - if (!xid) return 0; + if (!xid) return NULL; return xid->grab_button_auto_replay; } @@ -3041,9 +3041,9 @@ ecore_pointer_replay(Time t) { if (!disp) return; - XSync(disp, False); - XAllowEvents(disp, ReplayPointer, t); - XSync(disp, False); + XSync(disp, False); + XAllowEvents(disp, ReplayPointer, t); + XSync(disp, False); } void |
From: <enl...@li...> - 2001-11-04 23:13:32
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: just use REALLOC... no point doing yet another check :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- e_x.c 2001/11/01 23:53:27 1.45 +++ e_x.c 2001/11/04 23:13:31 1.46 @@ -134,10 +134,7 @@ return; } xid->children_num++; - if (!xid->children) - xid->children = NEW(Window, xid->children_num); - else - REALLOC(xid->children, Window, xid->children_num); + REALLOC(xid->children, Window, xid->children_num); xid->children[xid->children_num - 1] = child; } xid = ecore_validate_xid(child); |
From: <enl...@li...> - 2001-11-04 23:29:00
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h Log Message: implicit free - catch anyway.. and set ptr to NULL =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- Ecore.h 2001/11/01 23:53:27 1.38 +++ Ecore.h 2001/11/04 23:28:59 1.39 @@ -58,12 +58,14 @@ {if (dat) FREE(dat);} #define REALLOC(dat, type, num) \ { \ - if (dat) dat = realloc((dat), sizeof(type) * (num)); \ + if ((dat) && (num == 0)) {free(dat); dat = NULL;} \ + else if (dat) dat = realloc((dat), sizeof(type) * (num)); \ else dat = malloc(sizeof(type) * (num)); \ } #define REALLOC_PTR(dat, num) \ { \ - if (dat) dat = realloc(dat, sizeof(void *) * (num)); \ + if ((dat) && (num == 0)) {free(dat); dat = NULL;} \ + else if (dat) dat = realloc(dat, sizeof(void *) * (num)); \ else dat = malloc(sizeof(void *) * (num)); \ } |
From: <enl...@li...> - 2001-11-05 11:28:14
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_events.c Log Message: reset quit on quit... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_events.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- e_events.c 2001/10/17 22:31:02 1.13 +++ e_events.c 2001/11/05 11:28:08 1.14 @@ -312,6 +312,7 @@ time2 = time1 - prev_time; prev_time = time1; } + __quit_ev_loop = 0; } /* set a flag to 0 so that we can quit the event loop and shutdown |
From: <enl...@li...> - 2001-11-16 05:40:19
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_x.c Log Message: reverttonone =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -3 -r1.46 -r1.47 --- e_x.c 2001/11/04 23:13:31 1.46 +++ e_x.c 2001/11/16 05:40:18 1.47 @@ -1690,7 +1690,7 @@ if (!disp) return; if (win == 0) win = default_root; - XSetInputFocus(disp, win, RevertToPointerRoot, CurrentTime); + XSetInputFocus(disp, win, RevertToNone, CurrentTime); } Atom |
From: <enl...@li...> - 2001-11-24 06:03:33
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_x.c Log Message: extra calls... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- Ecore.h 2001/11/04 23:28:59 1.39 +++ Ecore.h 2001/11/24 06:03:27 1.40 @@ -742,6 +742,7 @@ void ecore_focus_window_set(Window win); Window ecore_focus_window_get(void); void ecore_focus_to_window(Window win); + void ecore_focus_mode_reset(void); Atom ecore_atom_get(char *name); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- e_x.c 2001/11/16 05:40:18 1.47 +++ e_x.c 2001/11/24 06:03:27 1.48 @@ -482,6 +482,8 @@ { if (!disp) return; + if (win == 0) + win = default_root; XSetWindowBackgroundPixmap(disp, win, pmap); } @@ -615,7 +617,8 @@ { if (!disp) return; - + if (win == 0) + win = default_root; XClearWindow(disp, win); } @@ -624,7 +627,8 @@ { if (!disp) return; - + if (win == 0) + win = default_root; XClearArea(disp, win, x, y, w, h, False); } @@ -1691,6 +1695,13 @@ if (win == 0) win = default_root; XSetInputFocus(disp, win, RevertToNone, CurrentTime); +} + +void +ecore_focus_mode_reset(void) +{ + if (!disp) return; + XSetInputFocus(disp, default_root, RevertToPointerRoot, CurrentTime); } Atom |
From: <enl...@li...> - 2001-11-26 21:30:50
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: e_ev_x.c Log Message: extra paranoia there... in case of no shape extension. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- e_ev_x.c 2001/10/30 11:06:46 1.20 +++ e_ev_x.c 2001/11/26 21:30:49 1.21 @@ -71,6 +71,11 @@ int i, shape_event_id, current_lock; shape_event_id = max_event_id = ecore_event_shape_get_id(); + if (shape_event_id < SelectionRequest) + { + max_event_id = SelectionRequest; + fprintf(stderr, "ERROR: no shape extesion! This is BAD!\n"); + } event_translator = NEW_PTR(max_event_id + 1); for (i = 0; i < max_event_id + 1; i++) event_translator[i] = NULL; |
From: <enl...@li...> - 2001-11-30 00:58:35
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_x.c Log Message: get the grab window for the kbd =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- Ecore.h 2001/11/24 06:03:27 1.40 +++ Ecore.h 2001/11/30 00:58:28 1.41 @@ -776,7 +776,8 @@ int any_mod); void ecore_keyboard_grab(Window win); void ecore_keyboard_ungrab(void); - + Window ecore_keyboard_grab_window_get(void); + /* ----------------- GRAPHICS CONTEXT AND DRAWING CALLS */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- e_x.c 2001/11/24 06:03:27 1.48 +++ e_x.c 2001/11/30 00:58:28 1.49 @@ -53,6 +53,8 @@ static Window grab_pointer_win = 0; +static Window keyboard_grab_win = 0; + static int dnd_copy = 0; static int dnd_link = 0; static int dnd_move = 1; @@ -3354,8 +3356,6 @@ return NULL; } -static Window keyboard_grab_win = 0; - void ecore_keyboard_grab(Window win) { @@ -3382,6 +3382,13 @@ return; keyboard_grab_win = 0; XUngrabKeyboard(disp, CurrentTime); +} + +Window +ecore_keyboard_grab_window_get(void) +{ + if (!disp) return 0; + return keyboard_grab_win; } Window |
From: <enl...@li...> - 2001-12-07 04:13:17
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: more code to handle dnd... :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -3 -r1.41 -r1.42 --- Ecore.h 2001/11/30 00:58:28 1.41 +++ Ecore.h 2001/12/07 04:13:15 1.42 @@ -85,6 +85,11 @@ _p = _p->next; \ } +#define DND_TYPE_URI_LIST 0 +#define DND_TYPE_PLAIN_TEXT 1 +#define DND_TYPE_MOZ_URL 2 +#define DND_TYPE_NETSCAPE_URL 3 + #ifdef __cplusplus extern "C" { @@ -458,8 +463,11 @@ typedef struct _ecore_event_dnd_data_request { Window win, root, source_win; - int plain_text; Atom destination_atom; + int plain_text; + int uri_list; + int moz_url; + int netscape_url; } Ecore_Event_Dnd_Data_Request; typedef struct _ecore_event_child @@ -807,7 +815,7 @@ void ecore_dnd_set_data(Window win); void ecore_dnd_send_data(Window win, Window source_win, void *data, int size, Atom dest_atom, - int plain_text); + int type); void ecore_dnd_set_mode_copy(void); void ecore_dnd_set_mode_link(void); void ecore_dnd_set_mode_move(void); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- e_ev_x.c 2001/11/26 22:12:35 1.22 +++ e_ev_x.c 2001/12/07 04:13:15 1.23 @@ -942,11 +942,17 @@ { static Atom atom_xdndselection = 0; static Atom atom_text_plain = 0; + static Atom atom_text_uri_list = 0; + static Atom atom_text_moz_url = 0; + static Atom atom_netscape_url = 0; static Atom atom_text_selection = 0; Ecore_Event_Dnd_Data_Request *e; ECORE_ATOM(atom_xdndselection, "XdndSelection"); ECORE_ATOM(atom_text_plain, "text/plain"); + ECORE_ATOM(atom_text_uri_list, "text/uri-list"); + ECORE_ATOM(atom_text_moz_url, "text/x-moz-url"); + ECORE_ATOM(atom_netscape_url, "_NETSCAPE_URL"); ECORE_ATOM(atom_text_selection, "TEXT_SELECTION"); if (xevent->xselectionrequest.selection == atom_xdndselection) { @@ -954,10 +960,15 @@ e->win = xevent->xselectionrequest.owner; e->root = ecore_window_get_root(e->win); e->source_win = xevent->xselectionrequest.requestor; - if (xevent->xselectionrequest.target == atom_text_plain) - e->plain_text = 1; - else - e->plain_text = 0; + e->plain_text =0; + e->uri_list = 0; + e->moz_url = 0; + e->netscape_url = 0; + + if (xevent->xselectionrequest.target == atom_text_plain) e->plain_text = 1; + if (xevent->xselectionrequest.target == atom_text_uri_list) e->uri_list = 1; + if (xevent->xselectionrequest.target == atom_text_moz_url) e->moz_url = 1; + if (xevent->xselectionrequest.target == atom_netscape_url) e->netscape_url = 1; e->destination_atom = xevent->xselectionrequest.property; ecore_add_event(ECORE_EVENT_DND_DATA_REQUEST, e, ecore_event_generic_free); @@ -1060,10 +1071,13 @@ else if ((xevent->xclient.message_type == atom_xdndenter) && (xevent->xclient.format == 32)) { - if (xevent->xclient.data.l[2] == (long)atom_text_uri_list) - { +/* if ((xevent->xclient.data.l[2] == (long)atom_text_uri_list) || + (xevent->xclient.data.l[3] == (long)atom_text_uri_list) || + (xevent->xclient.data.l[4] == (long)atom_text_uri_list)) +*/ { Ecore_Event_Dnd_Drop_Request *e; + if (ev_drop_request_pending) { ecore_event_dnd_drop_request_free(ev_drop_request_pending); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- e_x.c 2001/11/30 00:58:28 1.49 +++ e_x.c 2001/12/07 04:13:15 1.50 @@ -1996,6 +1996,8 @@ static Atom atom_xdndactionask = 0; static Atom atom_text_uri_list = 0; static Atom atom_text_plain = 0; + static Atom atom_text_moz_url = 0; + static Atom atom_netscape_url = 0; Window win; XEvent xevent; @@ -2013,6 +2015,8 @@ ECORE_ATOM(atom_xdndactionask, "XdndActionAsk"); ECORE_ATOM(atom_text_uri_list, "text/uri-list"); ECORE_ATOM(atom_text_plain, "text/plain"); + ECORE_ATOM(atom_text_moz_url, "text/x-moz-url"); + ECORE_ATOM(atom_netscape_url, "_NETSCAPE_URL"); if ((win != current_dnd_win) && (current_dnd_win)) { /* send leave to old dnd win */ @@ -2042,7 +2046,7 @@ xevent.xclient.data.l[1] = (3 << 24); xevent.xclient.data.l[2] = atom_text_uri_list; xevent.xclient.data.l[3] = atom_text_plain; - xevent.xclient.data.l[4] = 0; + xevent.xclient.data.l[4] = atom_text_moz_url; XSendEvent(disp, win, False, 0, &xevent); } /* send position information */ @@ -2202,21 +2206,28 @@ void ecore_dnd_send_data(Window win, Window source_win, void *data, int size, - Atom dest_atom, int plain_text) + Atom dest_atom, int type) { XEvent xevent; static Atom atom_text_plain = 0; static Atom atom_text_uri_list = 0; + static Atom atom_text_moz_url = 0; + static Atom atom_netscape_url = 0; static Atom atom_xdndselection = 0; Atom target; if (!disp) return; ECORE_ATOM(atom_xdndselection, "XdndSelection"); ECORE_ATOM(atom_text_uri_list, "text/uri-list"); - ECORE_ATOM(atom_text_plain, "text/plain"); - target = atom_text_uri_list; - if (plain_text) - target = atom_text_plain; + ECORE_ATOM(atom_text_plain, "text/plain"); + ECORE_ATOM(atom_text_moz_url, "text/x-moz-url"); + ECORE_ATOM(atom_text_moz_url, "_NETSCAPE_URL"); + ECORE_ATOM(atom_text_plain, "text/plain"); + if (type == DND_TYPE_URI_LIST) target = atom_text_uri_list; + else if (type == DND_TYPE_PLAIN_TEXT) target = atom_text_plain; + else if (type == DND_TYPE_MOZ_URL) target = atom_text_moz_url; + else if (type == DND_TYPE_NETSCAPE_URL) target = atom_netscape_url; + else target = 0; ecore_window_property_set(win, dest_atom, target, 8, data, size); xevent.xselection.type = SelectionNotify; xevent.xselection.property = dest_atom; |
From: <enl...@li...> - 2001-12-08 06:30:13
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: more work on the xdnd code... pending e17 commit =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.42 retrieving revision 1.43 diff -u -3 -r1.42 -r1.43 --- Ecore.h 2001/12/07 04:13:15 1.42 +++ Ecore.h 2001/12/08 06:30:11 1.43 @@ -813,6 +813,8 @@ void *ecore_dnd_selection_get(Window win, Window req, Atom type, int *size); void ecore_dnd_set_data(Window win); + void ecore_dnd_set_action(Window win); + void ecore_dnd_send_data(Window win, Window source_win, void *data, int size, Atom dest_atom, int type); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_ev_x.c 2001/12/07 04:13:15 1.23 +++ e_ev_x.c 2001/12/08 06:30:11 1.24 @@ -903,12 +903,7 @@ { buf[i] = 0; e->num_files++; - if (e->files) - { - REALLOC_PTR(e->files, e->num_files); - } - else - e->files = NEW_PTR(e->num_files); + REALLOC_PTR(e->files, e->num_files); e->files[e->num_files - 1] = strdup(buf); buf[0] = 0; i = 0; @@ -917,6 +912,13 @@ is++; } } + if (i > 0) + { + buf[i] = 0; + e->num_files++; + REALLOC_PTR(e->files, e->num_files); + e->files[e->num_files - 1] = strdup(buf); + } FREE(buf); FREE(data); } @@ -1056,7 +1058,8 @@ ECORE_ATOM(atom_xdndactionlink, "XdndActionLink"); ECORE_ATOM(atom_xdndactionmove, "XdndActionMove"); ECORE_ATOM(atom_text_uri_list, "text/uri-list"); - /* forst type = delete event sent to client */ + + /* first type = delete event sent to client */ if ((xevent->xclient.message_type == atom_wm_protocols) && (xevent->xclient.format == 32) && (xevent->xclient.data.l[0] == (long)atom_wm_delete_window)) @@ -1072,9 +1075,9 @@ (xevent->xclient.format == 32)) { /* if ((xevent->xclient.data.l[2] == (long)atom_text_uri_list) || - (xevent->xclient.data.l[3] == (long)atom_text_uri_list) || - (xevent->xclient.data.l[4] == (long)atom_text_uri_list)) -*/ { + * (xevent->xclient.data.l[3] == (long)atom_text_uri_list) || + * (xevent->xclient.data.l[4] == (long)atom_text_uri_list)) + */ { Ecore_Event_Dnd_Drop_Request *e; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- e_x.c 2001/12/07 04:13:15 1.50 +++ e_x.c 2001/12/08 06:30:11 1.51 @@ -2175,33 +2175,41 @@ void ecore_dnd_set_data(Window win) { - static int atom_xdndactioncopy = 0; - static int atom_xdndactionmove = 0; - static int atom_xdndactionlink = 0; - static int atom_xdndactionask = 0; - static Atom atom_xdndactionlist = 0; - static Atom atom_xdndselection = 0; + static Atom atom_xdndselection = 0; + + if (!disp) return; + ECORE_ATOM(atom_xdndselection, "XdndSelection"); + ecore_dnd_set_action(win); + XSetSelectionOwner(disp, atom_xdndselection, win, CurrentTime); +} +void +ecore_dnd_set_action(Window win) +{ + static int atom_xdndactioncopy = 0; + static int atom_xdndactionmove = 0; + static int atom_xdndactionlink = 0; + static int atom_xdndactionask = 0; + static Atom atom_xdndactionlist = 0; + if (!disp) return; - ECORE_ATOM(atom_xdndactioncopy, "XdndActionCopy"); - ECORE_ATOM(atom_xdndactionmove, "XdndActionMove"); - ECORE_ATOM(atom_xdndactionlink, "XdndActionLink"); - ECORE_ATOM(atom_xdndactionask, "XdndActionAsk"); - ECORE_ATOM(atom_xdndactionlist, "XdndActionList"); - ECORE_ATOM(atom_xdndselection, "XdndSelection"); - if (dnd_copy) - ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, - &atom_xdndactioncopy, 1); - else if (dnd_link) - ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, - &atom_xdndactionlink, 1); - else if (dnd_move) - ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, - &atom_xdndactionmove, 1); - else - ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, - &atom_xdndactionask, 1); - XSetSelectionOwner(disp, atom_xdndselection, win, CurrentTime); + ECORE_ATOM(atom_xdndactioncopy, "XdndActionCopy"); + ECORE_ATOM(atom_xdndactionmove, "XdndActionMove"); + ECORE_ATOM(atom_xdndactionlink, "XdndActionLink"); + ECORE_ATOM(atom_xdndactionask, "XdndActionAsk"); + ECORE_ATOM(atom_xdndactionlist, "XdndActionList"); + if (dnd_copy) + ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, + &atom_xdndactioncopy, 1); + else if (dnd_link) + ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, + &atom_xdndactionlink, 1); + else if (dnd_move) + ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, + &atom_xdndactionmove, 1); + else + ecore_window_property_set(win, atom_xdndactionlist, XA_ATOM, 32, + &atom_xdndactionask, 1); } void |
From: <enl...@li...> - 2002-03-25 04:58:15
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Ecore.h e_ev_x.c e_x.c Log Message: hmm commit.. prolyl to wrong branch tho... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.45 retrieving revision 1.46 diff -u -3 -r1.45 -r1.46 --- Ecore.h 13 Feb 2002 03:19:29 -0000 1.45 +++ Ecore.h 25 Mar 2002 04:58:14 -0000 1.46 @@ -43,30 +43,30 @@ if (!atom) (atom) = ecore_atom_get(name); #define MEMCPY(src, dst, type, num) \ memcpy(dst, src, sizeof(type) * (num)) -#define NEW(dat, num) \ - malloc(sizeof(dat) * (num)) -#define ZERO(ptr, dat, num) \ - memset((ptr), 0, sizeof(dat) * (num)) +#define NEW(type, num) \ + malloc(sizeof(type) * (num)) +#define ZERO(ptr, type, num) \ + memset((ptr), 0, sizeof(type) * (num)) #define NEW_PTR(num) \ malloc(sizeof(void *) * (num)) -#define FREE(dat) \ +#define FREE(ptr) \ { \ - free(dat); \ - (dat) = NULL; \ + free(ptr); \ + (ptr) = NULL; \ } -#define IF_FREE(dat) \ - {if (dat) FREE(dat);} -#define REALLOC(dat, type, num) \ +#define IF_FREE(ptr) \ + {if (ptr) FREE(ptr);} +#define REALLOC(ptr, type, num) \ { \ - if ((dat) && (num == 0)) {free(dat); dat = NULL;} \ - else if (dat) dat = realloc((dat), sizeof(type) * (num)); \ - else dat = malloc(sizeof(type) * (num)); \ + if ((ptr) && (num == 0)) {free(ptr); ptr = NULL;} \ + else if (ptr) ptr = realloc((ptr), sizeof(type) * (num)); \ + else ptr = malloc(sizeof(type) * (num)); \ } -#define REALLOC_PTR(dat, num) \ +#define REALLOC_PTR(ptr, num) \ { \ - if ((dat) && (num == 0)) {free(dat); dat = NULL;} \ - else if (dat) dat = realloc(dat, sizeof(void *) * (num)); \ - else dat = malloc(sizeof(void *) * (num)); \ + if ((ptr) && (num == 0)) {free(ptr); ptr = NULL;} \ + else if (ptr) ptr = realloc(ptr, sizeof(void *) * (num)); \ + else ptr = malloc(sizeof(void *) * (num)); \ } #define START_LIST_DEL(type, base, cmp) \ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- e_ev_x.c 13 Feb 2002 03:19:29 -0000 1.26 +++ e_ev_x.c 25 Mar 2002 04:58:14 -0000 1.27 @@ -106,7 +106,8 @@ event_translator[SelectionNotify] = ecore_event_x_handle_selection_notify; event_translator[SelectionClear] = ecore_event_x_handle_selection_clear; event_translator[SelectionRequest] = ecore_event_x_handle_selection_request; - event_translator[shape_event_id] = ecore_event_x_handle_shape_change; + if (shape_event_id > SelectionRequest) + event_translator[shape_event_id] = ecore_event_x_handle_shape_change; lock_mask_scroll = ecore_lock_mask_scroll_get(); lock_mask_num = ecore_lock_mask_num_get(); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_x.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -3 -r1.52 -r1.53 --- e_x.c 12 Dec 2001 23:54:54 -0000 1.52 +++ e_x.c 25 Mar 2002 04:58:14 -0000 1.53 @@ -219,6 +219,7 @@ xid->children_num = 0; xid->children = NULL; xid->gravity = ecore_window_get_gravity(win); + xid->coords_invalid = 0; xid->bw = 0; xid->grab_button_auto_replay = NULL; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); @@ -282,6 +283,7 @@ xid->mouse_in = 0; xid->gravity = att.win_gravity; xid->bw = att.border_width; + xid->coords_invalid = 0; xid->grab_button_auto_replay = NULL; XSaveContext(disp, xid->win, xid_context, (XPointer) xid); ecore_add_child(xid->parent, win); |
From: <enl...@li...> - 2002-08-01 03:38:31
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Tag: SPLIT e_ev_x.c Log Message: oops.. fix =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/e_ev_x.c,v retrieving revision 1.26.2.1 retrieving revision 1.26.2.2 diff -u -3 -r1.26.2.1 -r1.26.2.2 --- e_ev_x.c 25 Mar 2002 07:38:51 -0000 1.26.2.1 +++ e_ev_x.c 1 Aug 2002 03:38:29 -0000 1.26.2.2 @@ -71,9 +71,9 @@ int i, shape_event_id, current_lock; shape_event_id = max_event_id = ecore_event_shape_get_id(); - if (shape_event_id < SelectionRequest) + if (shape_event_id < LASTEvent) { - max_event_id = SelectionRequest; + max_event_id = LASTEvent; fprintf(stderr, "ERROR: No shape extension! This is BAD!\n"); } event_translator = NEW_PTR(max_event_id + 1); |
From: <enl...@li...> - 2002-10-14 01:37:42
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/doc/figures Added Files: Tag: SPLIT Makefile.am Log Message: -> 0.0.4 fix make distcheck |
From: <enl...@li...> - 2002-10-14 01:37:42
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Tag: SPLIT Makefile.am Log Message: -> 0.0.4 fix make distcheck =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Makefile.am,v retrieving revision 1.7 retrieving revision 1.7.2.1 diff -u -3 -r1.7 -r1.7.2.1 --- Makefile.am 29 Apr 2001 05:58:04 -0000 1.7 +++ Makefile.am 14 Oct 2002 01:37:41 -0000 1.7.2.1 @@ -16,4 +16,4 @@ e_x.c libecore_la_LIBADD = @x_ldflags@ @x_libs@ -lm -libecore_la_LDFLAGS = -version-info 0:2:0 +libecore_la_LDFLAGS = -version-info 0:4:0 |
From: <enl...@li...> - 2002-10-14 01:38:12
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: Tag: SPLIT configure.ac configure.in Log Message: -> 0.0.4 fix make distcheck =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/configure.ac,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -3 -r1.3 -r1.3.2.1 --- configure.ac 26 Oct 2001 20:03:35 -0000 1.3 +++ configure.ac 14 Oct 2002 01:37:41 -0000 1.3.2.1 @@ -2,7 +2,7 @@ AC_INIT AC_CONFIG_SRCDIR([configure.in]) -AM_INIT_AUTOMAKE(ecore, 0.0.2) +AM_INIT_AUTOMAKE(ecore, 0.0.4) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX @@ -99,6 +99,7 @@ src/Makefile debian/Makefile doc/Makefile +doc/figures/Makefile doc/kernel-doc doc/html-customizations.dsl ]) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/configure.in,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -u -3 -r1.8 -r1.8.2.1 --- configure.in 26 Oct 2001 20:03:35 -0000 1.8 +++ configure.in 14 Oct 2002 01:37:41 -0000 1.8.2.1 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(configure.in) -AM_INIT_AUTOMAKE(ecore, 0.0.2) +AM_INIT_AUTOMAKE(ecore, 0.0.4) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX @@ -98,6 +98,7 @@ src/Makefile debian/Makefile doc/Makefile +doc/figures/Makefile doc/kernel-doc doc/html-customizations.dsl ], [ |
From: <enl...@li...> - 2002-10-14 01:38:12
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/doc Modified Files: Tag: SPLIT Makefile.am Log Message: -> 0.0.4 fix make distcheck =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/doc/Makefile.am,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -3 -r1.2 -r1.2.2.1 --- Makefile.am 24 Oct 2001 22:33:57 -0000 1.2 +++ Makefile.am 14 Oct 2002 01:37:41 -0000 1.2.2.1 @@ -1,12 +1,13 @@ ## Process this file with automake to produce Makefile.in +SUBDIRS = figures + MAINTAINERCLEANFILES = Makefile.in EXTRA_DIST = \ manual.raw \ kernel-doc.in \ -stylesheet.css \ -figures/*.gif # Add any images you create here +stylesheet.css ## Fill in all source files that you documented |
From: <enl...@li...> - 2002-11-11 04:30:46
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/doc Removed Files: Tag: SPLIT Makefile.am html-customizations.dsl.in kernel-doc.in manual.raw stylesheet.css Log Message: ecore is being destroyed... accept it.. move on now.. this tree in SPLIt is a construction zone now. |
From: <enl...@li...> - 2002-11-11 04:30:46
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src Modified Files: Tag: SPLIT Ecore.h Makefile.am Added Files: Tag: SPLIT ecore_app.c ecore_display.c ecore_exe.c ecore_main.c ecore_private.h ecore_time.c Log Message: ecore is being destroyed... accept it.. move on now.. this tree in SPLIt is a construction zone now. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Ecore.h,v retrieving revision 1.45.2.1 retrieving revision 1.45.2.2 diff -u -3 -r1.45.2.1 -r1.45.2.2 --- Ecore.h 25 Mar 2002 07:38:51 -0000 1.45.2.1 +++ Ecore.h 11 Nov 2002 04:30:44 -0000 1.45.2.2 @@ -1,3 +1,41 @@ +#ifndef _ECORE_H +#define _ECORE_H + +#include <stdio.h> +#include <stdlib.h> +#include <sys/time.h> +#include <sys/types.h> +#include <unistd.h> +#include <signal.h> +#define XK_MISCELLANY 1 +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xatom.h> +#include <X11/Xresource.h> +#include <X11/keysymdef.h> +#include <X11/extensions/XShm.h> +#include <X11/extensions/shape.h> + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef _ECORE_PRIVATE_H + typedef void Ecore_Exe; +#else + +#ifdef __cplusplus +} +#endif +#endif + + + + + + +#if 0 #ifndef E_CORE_H #define E_CORE_H 1 @@ -913,4 +951,5 @@ } #endif +#endif #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/Makefile.am,v retrieving revision 1.7.2.1 retrieving revision 1.7.2.2 diff -u -3 -r1.7.2.1 -r1.7.2.2 --- Makefile.am 14 Oct 2002 01:37:41 -0000 1.7.2.1 +++ Makefile.am 11 Nov 2002 04:30:44 -0000 1.7.2.2 @@ -7,6 +7,18 @@ Ecore.h libecore_la_SOURCES = \ + ecore.c \ + ecore_app.c \ + ecore_display.c \ + ecore_exe.c \ + ecore_main.c \ + ecore_time.c \ + ecore_private.h + +libecore_la_LIBADD = @x_ldflags@ @x_libs@ -lm +libecore_la_LDFLAGS = -version-info 1:0:0 + +EXTRA_DIST = \ e_ev_filter.c \ e_ev_signal.c \ e_ev_x.c \ @@ -14,6 +26,3 @@ e_ipc.c \ e_util.c \ e_x.c - -libecore_la_LIBADD = @x_ldflags@ @x_libs@ -lm -libecore_la_LDFLAGS = -version-info 0:4:0 |
From: <enl...@li...> - 2002-11-11 04:30:46
|
Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore Dir : e17/libs/ecore/doc/figures Removed Files: Tag: SPLIT Makefile.am background.gif caution.gif note.gif warning.gif Log Message: ecore is being destroyed... accept it.. move on now.. this tree in SPLIt is a construction zone now. |