I rather think we might use the wrong window for dnd on the desktop. Sebastian
Dave Andreoli wrote: > Ok, the problem happend only when the shelf is stacked on the background. > The attached patch fix it, I'm not sure this is the right way, but seems > that _e_drag_win_matches is not needed by xdnd. > > Thanks > Dave > > > ----- "Dave Andreoli" <[EMAIL PROTECTED]> ha scritto: > >> This commit has stopped all the xdnd to work both in the shelf and in >> the gadcon :( >> >> DaveMDS >> >> >> ----- "Enlightenment CVS" <[EMAIL PROTECTED]> ha scritto: >> >>> Enlightenment CVS committal >>> >>> Author : englebass >>> Project : e17 >>> Module : apps/e >>> >>> Dir : e17/apps/e/src/bin >>> >>> >>> Modified Files: >>> e_dnd.c >>> >>> >>> Log Message: >>> We don't need to search for window at pointer with xdnd, xdnd >> handles >>> this >>> already. >>> >>> =================================================================== >>> RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v >>> retrieving revision 1.75 >>> retrieving revision 1.76 >>> diff -u -3 -r1.75 -r1.76 >>> --- e_dnd.c 15 Jun 2008 12:19:40 -0000 1.75 >>> +++ e_dnd.c 15 Jun 2008 12:28:16 -0000 1.76 >>> @@ -680,12 +680,8 @@ >>> // win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); >>> } >>> else >>> - /* FIXME: this is nasty. every x mouse event we go back to x >> and >>> do >>> - * a whole bunch of round-trips narrowing down the toplevel >>> window >>> - * which contains the mouse */ >>> - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, >> y, >>> NULL, 0); >>> -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); >>> - >>> + win = root; >>> + >>> if (_drag_current) >>> { >>> _e_drag_show(_drag_current); >>> @@ -890,24 +886,13 @@ >>> } >>> >>> static void >>> -_e_drag_xdnd_end(Ecore_X_Window root, int x, int y) >>> +_e_drag_xdnd_end(Ecore_X_Window win, int x, int y) >>> { >>> Evas_List *l; >>> E_Event_Dnd_Drop ev; >>> int dx, dy, dw, dh; >>> - Ecore_X_Window win, ignore_win[2]; >>> >>> if (!_xdnd) return; >>> - if (_drag_current) >>> - { >>> - ignore_win[0] = _drag_current->evas_win; >>> - ignore_win[1] = _drag_win; >>> - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, y, >>> ignore_win, 2); >>> -// win = ecore_x_window_at_xy_with_skip_get(x, y, ignore_win, 2); >>> - } >>> - else >>> - win = ecore_x_window_shadow_tree_at_xy_with_skip_get(root, x, >> y, >>> NULL, 0); >>> -// win = ecore_x_window_at_xy_with_skip_get(x, y, NULL, 0); >>> >>> ev.data = _xdnd->data; >>> >>> >>> >>> >>> >> ------------------------------------------------------------------------- >>> Check out the new SourceForge.net Marketplace. >>> It's the best place to buy or sell services for >>> just about anything Open Source. >>> http://sourceforge.net/services/buy/index.php >>> _______________________________________________ >>> enlightenment-cvs mailing list >>> [EMAIL PROTECTED] >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> _______________________________________________ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel