Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: Tag: branch-exp actions.c buttons.c desktops.c events.c ipc.c Log Message: Various fixes. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/actions.c,v retrieving revision 1.174.2.21 retrieving revision 1.174.2.22 diff -u -3 -r1.174.2.21 -r1.174.2.22 --- actions.c 27 Oct 2004 23:32:49 -0000 1.174.2.21 +++ actions.c 31 Oct 2004 19:47:10 -0000 1.174.2.22 @@ -223,21 +223,17 @@ ActionResizeEnd(ewin); Mode.action_inhibit = 1; break; + case MODE_MOVE_PENDING: case MODE_MOVE: ActionMoveEnd(ewin); Mode.action_inhibit = 1; break; + case MODE_DESKDRAG: Mode.mode = MODE_NONE; break; -#if 0 /* FIXME - Fix */ - case MODE_BUTTONDRAG: - if (!Mode.button_move_pending) - Mode.action_inhibit = 1; - doDragButtonEnd(NULL); - break; -#endif + default: did_end = 0; break; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/buttons.c,v retrieving revision 1.36.2.14 retrieving revision 1.36.2.15 diff -u -3 -r1.36.2.14 -r1.36.2.15 --- buttons.c 27 Oct 2004 23:32:51 -0000 1.36.2.14 +++ buttons.c 31 Oct 2004 19:47:11 -0000 1.36.2.15 @@ -734,6 +734,7 @@ if ((x > Conf.button_move_resistance) || (y > Conf.button_move_resistance)) Mode.button_move_pending = 0; + Mode.action_inhibit = 1; } if (!Mode.button_move_pending) { =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.95.2.25 retrieving revision 1.95.2.26 diff -u -3 -r1.95.2.25 -r1.95.2.26 --- desktops.c 30 Oct 2004 15:04:27 -0000 1.95.2.25 +++ desktops.c 31 Oct 2004 19:47:11 -0000 1.95.2.26 @@ -356,7 +356,6 @@ y = ((fy * (1024 - k)) + (ty * k)) >> 10; EMoveWindow(disp, win, x, y); ecore_x_sync(); - XSync(disp, False); k = ETimedLoopNext(); } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v retrieving revision 1.69.2.17 retrieving revision 1.69.2.18 diff -u -3 -r1.69.2.17 -r1.69.2.18 --- events.c 30 Oct 2004 15:04:27 -0000 1.69.2.17 +++ events.c 31 Oct 2004 19:47:11 -0000 1.69.2.18 @@ -59,9 +59,12 @@ char throw_move_events_away = 0; static int evq_num = 0; -static int evq_cur = 0; static XEvent *evq_ptr = NULL; +static int evq_num2 = 0; +static int evq_cur2 = 0; +static XEvent *evq_ptr2 = NULL; + #define DOUBLE_CLICK_TIME 250 /* Milliseconds */ static void @@ -234,6 +237,10 @@ break; case ButtonRelease: /* 5 */ SoundPlay("SOUND_BUTTON_RAISE"); + + ModeGetXY(ev->xbutton.root, ev->xbutton.x_root, ev->xbutton.y_root); + +#if 0 /* FIXME - TBD */ /* DON'T handle clicks whilst moving/resizing things */ if ((Mode.mode != MODE_NONE) && (!((Mode.place) && @@ -242,14 +249,11 @@ if ((int)Mode.last_button != (int)ev->xbutton.button) EDBUG_RETURN_; } - - ModeGetXY(ev->xbutton.root, ev->xbutton.x_root, ev->xbutton.y_root); +#endif pslideout = Mode.slideout; ActionsEnd(NULL); - - Mode.action_inhibit = 0; break; case MotionNotify: /* 6 */ TooltipsHandleEvent(); /* TBD */ @@ -259,7 +263,7 @@ ModeGetXY(ev->xmotion.root, ev->xmotion.x_root, ev->xmotion.y_root); DesksSetCurrent(DesktopAt(Mode.x, Mode.y)); - +#if 0 /* FIXME - TBD */ if ((!(ev->xmotion.state & (Button1Mask | Button2Mask | Button3Mask | Button4Mask | Button5Mask)) && (!Mode.place))) @@ -267,7 +271,7 @@ if (ActionsEnd(NULL)) EDBUG_RETURN_; } - +#endif ActionsHandleMotion(); break; case EnterNotify: /* 7 */ @@ -326,6 +330,7 @@ Mode.justclicked = 0; Mode.last_bpress = 0; + Mode.action_inhibit = 0; break; } @@ -500,20 +505,36 @@ evq = *evq_p; qsz = *evq_n; + again: + if (EventDebug(EDBUG_TYPE_EVENTS)) + Eprintf("EventsProcess-B %d\n", qsz); + for (i = 0; i < qsz; i++) { - evq_cur = i; if (evq[i].type == 0) continue; if (EventDebug(EDBUG_TYPE_EVENTS)) Eprintf("EventsProcess %d type=%d\n", i, evq[i].type); - evq_cur = i; HandleEvent(evq + i); evq[i].type = 0; } + if (evq_num2) + { + /* Process leftovers */ + Efree(evq_ptr); + evq = evq_ptr = evq_ptr2; + qsz = evq_num = evq_num2; + evq_ptr2 = 0; + evq_num2 = evq_cur2 = 0; + goto again; + } + + if (EventDebug(EDBUG_TYPE_EVENTS)) + Eprintf("EventsProcess-E %d\n", qsz); + return qsz; } @@ -525,16 +546,16 @@ int qsz; /* Fetch the entire event queue */ - EventsFetch(&evq_ptr, &evq_num); - evq = evq_ptr; - qsz = evq_num; + EventsFetch(&evq_ptr2, &evq_num2); + evq = evq_ptr2; + qsz = evq_num2; if (EventDebug(EDBUG_TYPE_EVENTS)) - Eprintf("CheckEvent-B %d/%d\n", evq_cur, evq_num); + Eprintf("CheckEvent-B %d/%d\n", evq_cur2, evq_num2); - for (i = evq_cur + 1; i < qsz; i++) + for (i = evq_cur2; i < qsz; i++) { - evq_cur = i; + evq_cur2 = i; switch (evq[i].type) { case CreateNotify: @@ -596,6 +617,7 @@ DBUG_STACKSTART; EDBUG(7, "WaitEvent"); + smfd = GetSMfd(); xfd = ConnectionNumber(disp); fdsize = MAX(xfd, smfd) + 1; @@ -603,11 +625,13 @@ /* if we've never set the time we were last here before */ if ((tval_last.tv_sec == 0) && (tval_last.tv_usec == 0)) gettimeofday(&tval_last, NULL); + /* time1 = time we last entered this routine */ time1 = ((double)tval_last.tv_sec) + (((double)tval_last.tv_usec) / 1000000); gettimeofday(&tval, NULL); tval_last.tv_sec = tval.tv_sec; tval_last.tv_usec = tval.tv_usec; + /* time2 = current time */ time2 = ((double)tval.tv_sec) + (((double)tval.tv_usec) / 1000000); time2 -= time1; @@ -671,10 +695,10 @@ } else count = select(fdsize, &fdset, NULL, NULL, NULL); + if (count < 0) - { - EDBUG_RETURN_; - } + EDBUG_RETURN_; + if ((smfd >= 0) && (count > 0) && (FD_ISSET(smfd, &fdset))) ProcessICEMSGS(); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v retrieving revision 1.174.2.31 retrieving revision 1.174.2.32 diff -u -3 -r1.174.2.31 -r1.174.2.32 --- ipc.c 30 Oct 2004 15:04:28 -0000 1.174.2.31 +++ ipc.c 31 Oct 2004 19:47:11 -0000 1.174.2.32 @@ -1189,7 +1189,7 @@ } static void -IPC_Hints(const char *params, Client * c) +IPC_Hints(const char *params, Client * c __UNUSED__) { char param1[FILEPATH_LEN_MAX]; char param2[FILEPATH_LEN_MAX]; ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs