Re: [E-devel] E CVS: apps/e englebass

2008-06-24 Thread Sebastian Dransfeld
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 -  1.75
 +++ e_dnd.c 15 Jun 2008 12:28:16 -  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


Re: [E-devel] E CVS: apps/e englebass

2008-06-23 Thread Dave Andreoli
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 -  1.75
 +++ e_dnd.c   15 Jun 2008 12:28:16 -  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


Re: [E-devel] E CVS: apps/e englebass

2008-06-23 Thread Dave Andreoli
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 -  1.75
  +++ e_dnd.c 15 Jun 2008 12:28:16 -  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
Index: e_dnd.c
===
RCS file: /cvs/e/e17/apps/e/src/bin/e_dnd.c,v
retrieving revision 1.77
diff -u -u -r1.77 e_dnd.c
--- e_dnd.c	15 Jun 2008 12:30:26 -	1.77
+++ e_dnd.c	23 Jun 2008 13:39:51 -
@@ -752,7 +752,7 @@
 	 move_ev.y = y - dy;
 	 leave_ev.x = x - dx;
 	 leave_ev.y = y - dy;
-	 if (E_INSIDE(x, y, dx, dy, dw, dh)  _e_drag_win_matches(h, win))
+	 if (E_INSIDE(x, y, dx, dy, dw, dh) /* _e_drag_win_matches(h, win)*/)
 	   {
 		  if (!h-entered)
 		{
@@ -910,8 +910,8 @@
 	 _e_drag_coords_update(h, dx, dy, dw, dh);
 	 ev.x = x - dx;
 	 ev.y = y - dy;
-	 if (_e_drag_win_matches(h, win)  h-cb.drop 
-		  E_INSIDE(x, y, dx, dy, dw, dh))
+	 if (/*_e_drag_win_matches(h, win)  h-cb.drop 
+		  */E_INSIDE(x, y, dx, dy, dw, dh))
 	   {
 		  h-cb.drop(h-cb.data, h-active_type, ev);
 		  dropped = 1;
-
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


Re: [E-devel] E CVS: apps/e englebass

2008-01-06 Thread Sebastian Dransfeld
Sthithaprajna Garapaty wrote:
 Hey englebass,
 
 The commit below makes a 1pixel unclickable border around my screen..
 I cannot select windows or do anything in this one pixel border.
 Removing ecore_x_window_show(...) and
 e_container_window_raise(zone-container, ..., 999); fixes the
 problem, but I dont know if it creates any new problems with edge
 flipping or shelf autohiding. Can you please look into this and make
 it so my screen border is clickable.

If you disable the windows flipping and autohiding wont work anymore.

There is no simple solution to fix this, and I don't have much time ATM, 
so you must fix this yourself :)

Sebastian

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] E CVS: apps/e englebass

2008-01-05 Thread Sthithaprajna Garapaty
Hey englebass,

The commit below makes a 1pixel unclickable border around my screen..
I cannot select windows or do anything in this one pixel border.
Removing ecore_x_window_show(...) and
e_container_window_raise(zone-container, ..., 999); fixes the
problem, but I dont know if it creates any new problems with edge
flipping or shelf autohiding. Can you please look into this and make
it so my screen border is clickable.

Thanks


-
Enlightenment CVS committal

Author : englebass
Project : e17
Module : apps/e

Dir : e17/apps/e/src/bin


Modified Files:
e_zone.c e_zone.h


Log Message:
Always show edge windows, prepare for edge events to show shelves.

===
RCS file: /cvs/e/e17/apps/e/src/bin/e_zone.c,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -3 -r1.123 -r1.124
--- e_zone.c17 Oct 2007 11:06:59 -1.123
+++ e_zone.c22 Nov 2007 19:46:54 -1.124
@@ -62,10 +62,18 @@
zone-num = num;
zone-id = id;

- zone-flip.left = ecore_x_window_input_new(con-win, zone-x,
zone-y, 1, zone-h);
- zone-flip.right = ecore_x_window_input_new(con-win, zone-x +
zone-w - 1, zone-y, 1, zone-h);
- zone-flip.top = ecore_x_window_input_new(con-win, zone-x + 1,
zone-y, zone-w - 2, 1);
- zone-flip.bottom = ecore_x_window_input_new(con-win, zone-x + 1,
zone-y + zone-h - 1, zone-w - 2, 1);
+ zone-edge.left = ecore_x_window_input_new(con-win, zone-x,
zone-y, 1, zone-h);
+ ecore_x_window_show(zone-edge.left);
+ e_container_window_raise(zone-container, zone-edge.left, 999);
+ zone-edge.right = ecore_x_window_input_new(con-win, zone-x +
zone-w - 1, zone-y, 1, zone-h);
+ ecore_x_window_show(zone-edge.right);
+ e_container_window_raise(zone-container, zone-edge.right, 999);
+ zone-edge.top = ecore_x_window_input_new(con-win, zone-x + 1,
zone-y, zone-w - 2, 1);
+ ecore_x_window_show(zone-edge.top);
+ e_container_window_raise(zone-container, zone-edge.top, 999);
+ zone-edge.bottom = ecore_x_window_input_new(con-win, zone-x + 1,
zone-y + zone-h - 1, zone-w - 2, 1);
+ ecore_x_window_show(zone-edge.bottom);
+ e_container_window_raise(zone-container, zone-edge.bottom, 999);

zone-handlers = evas_list_append(zone-handlers,
 ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN,
@@ -160,10 +168,10 @@
ev-zone = zone;
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev,
_e_zone_event_move_resize_free, NULL);

- ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y,
zone-w - 2, 1);
- ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y,
zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
}

EAPI void
@@ -185,10 +193,10 @@
ev-zone = zone;
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev,
_e_zone_event_move_resize_free, NULL);

- ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y,
zone-w - 2, 1);
- ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y,
zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
}

EAPI void
@@ -218,10 +226,10 @@
ev-zone = zone;
ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev,
_e_zone_event_move_resize_free, NULL);

- ecore_x_window_move_resize(zone-flip.left, zone-x, zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
- ecore_x_window_move_resize(zone-flip.top, zone-x + 1, zone-y,
zone-w - 2, 1);
- ecore_x_window_move_resize(zone-flip.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.left, zone-x, zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.right, zone-x + zone-w - 1,
zone-y, 1, zone-h);
+ ecore_x_window_move_resize(zone-edge.top, zone-x + 1, zone-y,
zone-w - 2, 1);
+ ecore_x_window_move_resize(zone-edge.bottom, zone-x + 1, zone-y +
zone-h - 1, zone-w - 2, 1);
}

EAPI void
@@ -581,10 +589,10 @@
 E_Zone *zone;

 zone = lll-data;
- ecore_x_window_hide(zone-flip.left);
- ecore_x_window_hide(zone-flip.right);
- ecore_x_window_hide(zone-flip.top);
- 

Re: [E-devel] E CVS: apps/e englebass

2007-11-24 Thread Виктор Кожухаров
В сб, 2007-11-24 в 07:31 -0500, Enlightenment CVS написа:
 Enlightenment CVS committal
 
 Author  : englebass
 Project : e17
 Module  : apps/e
 
 Dir : e17/apps/e/src/bin
 
 
 Modified Files:
   e_shelf.c 
 
 
 Log Message:
 Interrupt hiding on mouse in.
 
This one or the next patch breaks shelf autohide, if the user moves the
mouse too fast out of the shelf boundary

 ===
 RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v
 retrieving revision 1.82
 retrieving revision 1.83
 diff -u -3 -r1.82 -r1.83
 --- e_shelf.c 23 Nov 2007 12:03:00 -  1.82
 +++ e_shelf.c 24 Nov 2007 12:31:15 -  1.83
 @@ -130,6 +130,8 @@
 es-handlers = evas_list_append(es-handlers,
ecore_event_handler_add(E_EVENT_ZONE_EDGE_IN, _e_shelf_cb_mouse_in, 
 es));
 es-handlers = evas_list_append(es-handlers,
 +  ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _e_shelf_cb_mouse_in, 
 es));
 +   es-handlers = evas_list_append(es-handlers,
ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, 
 _e_shelf_cb_mouse_out, es));
   
 es-o_base = edje_object_add(es-evas);
 @@ -1212,66 +1214,79 @@
  static int
  _e_shelf_cb_mouse_in(void *data, int type, void *event)
  {
 -   E_Event_Zone_Edge_In *ev;
 E_Shelf  *es;
 -   int   show = 0;
  
 -   ev = event;
 es = data;
 -   switch (es-gadcon-orient)
 +   edje_object_signal_emit(es-o_base, e,state,focused, e);
 +   if (es-cfg-autohide_show_action) return 1;
 +
 +   if (type == E_EVENT_ZONE_EDGE_IN)
   {
 -  case E_GADCON_ORIENT_LEFT:
 -  if ((ev-edge == E_ZONE_EDGE_LEFT)  (ev-y = es-y)  (ev-y = 
 (es-y + es-h)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_RIGHT:
 -  if ((ev-edge == E_ZONE_EDGE_RIGHT)  (ev-y = es-y)  (ev-y = 
 (es-y + es-h)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_TOP:
 -  if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_BOTTOM:
 -  if ((ev-edge == E_ZONE_EDGE_BOTTOM)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_CORNER_TL:
 -  case E_GADCON_ORIENT_CORNER_LT:
 -  if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  else if ((ev-edge == E_ZONE_EDGE_LEFT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_CORNER_TR:
 -  case E_GADCON_ORIENT_CORNER_RT:
 -  if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  else if ((ev-edge == E_ZONE_EDGE_RIGHT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_CORNER_BL:
 -  case E_GADCON_ORIENT_CORNER_LB:
 -  if ((ev-edge == E_ZONE_EDGE_BOTTOM)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  else if ((ev-edge == E_ZONE_EDGE_LEFT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 -show = 1;
 -  break;
 -  case E_GADCON_ORIENT_CORNER_BR:
 -  case E_GADCON_ORIENT_CORNER_RB:
 -  if ((ev-edge == E_ZONE_EDGE_BOTTOM)  (ev-x = es-x)  (ev-x = 
 (es-x + es-w)))
 -show = 1;
 -  else if ((ev-edge == E_ZONE_EDGE_RIGHT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 -show = 1;
 -  break;
 -  default:
 -  break;
 - }
 + E_Event_Zone_Edge_In *ev;
 + int   show = 0;
  
 -   if (show)
 + ev = event;
 + switch (es-gadcon-orient)
 +   {
 +case E_GADCON_ORIENT_LEFT:
 +   if ((ev-edge == E_ZONE_EDGE_LEFT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 + show = 1;
 +   break;
 +case E_GADCON_ORIENT_RIGHT:
 +   if ((ev-edge == E_ZONE_EDGE_RIGHT)  (ev-y = es-y)  (ev-y 
 = (es-y + es-h)))
 + show = 1;
 +   break;
 +case E_GADCON_ORIENT_TOP:
 +   if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x 
 = (es-x + es-w)))
 + show = 1;
 +   break;
 +case E_GADCON_ORIENT_BOTTOM:
 +   if ((ev-edge == E_ZONE_EDGE_BOTTOM)  (ev-x = es-x)  
 (ev-x = (es-x + es-w)))
 + show = 1;
 +   break;
 +case E_GADCON_ORIENT_CORNER_TL:
 +case E_GADCON_ORIENT_CORNER_LT:
 +   if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x 
 = (es-x + es-w)))
 + show = 1;
 +   else if ((ev-edge == E_ZONE_EDGE_LEFT)  (ev-y = es-y)  
 (ev-y = (es-y + es-h)))
 + show = 1;
 +   break;
 +case E_GADCON_ORIENT_CORNER_TR:
 +case E_GADCON_ORIENT_CORNER_RT:
 +   if ((ev-edge == E_ZONE_EDGE_TOP)  (ev-x = es-x)  (ev-x 
 = (es-x + es-w)))
 + show = 1;
 +   else if ((ev-edge == E_ZONE_EDGE_RIGHT)  (ev-y = es-y)  
 (ev-y = (es-y + es-h)))
 + show = 1;
 +   break;
 +

Re: [E-devel] E CVS: apps/e englebass

2007-09-19 Thread Brian 'morlenxus' Miculcy
Isn't an 'else' useless here, because - it can't be both?

On Wed, Sep 19, 2007 at 01:14:26AM -0400, Enlightenment CVS wrote:
 Enlightenment CVS committal
 
 Author  : englebass
 Project : e17
 Module  : apps/e
 
 Dir : e17/apps/e/src/modules/ibar
 
 
 Modified Files:
   e_mod_main.c 
 
 
 Log Message:
 app-type can't be both.
 
 ===
 RCS file: /cvs/e/e17/apps/e/src/modules/ibar/e_mod_main.c,v
 retrieving revision 1.186
 retrieving revision 1.187
 diff -u -3 -r1.186 -r1.187
 --- e_mod_main.c  19 Sep 2007 01:29:04 -  1.186
 +++ e_mod_main.c  19 Sep 2007 05:14:26 -  1.187
 @@ -829,8 +829,8 @@
 if ((ev-button == 1)  (!ic-drag.dnd)  (ic-mouse_down == 1))
   {
   if (ic-app-type == EFREET_DESKTOP_TYPE_APPLICATION)
 -  e_exec(ic-ibar-inst-gcc-gadcon-zone, ic-app, NULL, NULL, 
 ibar);
 - if (ic-app-type == EFREET_DESKTOP_TYPE_LINK)
 +   e_exec(ic-ibar-inst-gcc-gadcon-zone, ic-app, NULL, NULL, 
 ibar);
 + else if (ic-app-type == EFREET_DESKTOP_TYPE_LINK)
 {
if (strncasecmp (ic-app-url, file:, 5) == 0)
  {
 
 
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-cvs mailing list
 [EMAIL PROTECTED]
 https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: apps/e englebass

2007-09-19 Thread Michael Jennings
On Wednesday, 19 September 2007, at 09:37:01 (+0200),
Brian 'morlenxus' Miculcy wrote:

 Isn't an 'else' useless here, because - it can't be both?

No.  The else is correct *because* it can't be both.  Without the
else, you waste time doing an unnecessary if.

Michael

-- 
Michael Jennings (a.k.a. KainX)  http://www.kainx.org/  [EMAIL PROTECTED]
Linux Server/Cluster Admin, LBL.gov   Author, Eterm (www.eterm.org)
---
 To err is human; to really louse things up requires root
  privileges. -- Alexander Pope, slightly paraphrased

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: apps/e englebass

2007-09-19 Thread Brian 'morlenxus' Miculcy
On Wed, Sep 19, 2007 at 08:07:08AM -0700, Michael Jennings wrote:
 On Wednesday, 19 September 2007, at 09:37:01 (+0200),
 Brian 'morlenxus' Miculcy wrote:
 
  Isn't an 'else' useless here, because - it can't be both?
 
 No.  The else is correct *because* it can't be both.  Without the
 else, you waste time doing an unnecessary if.

Ah yes, you're right. :)

Brian
 
 Michael
 
 -- 
 Michael Jennings (a.k.a. KainX)  http://www.kainx.org/  [EMAIL PROTECTED]
 Linux Server/Cluster Admin, LBL.gov   Author, Eterm (www.eterm.org)
 ---
  To err is human; to really louse things up requires root
   privileges. -- Alexander Pope, slightly paraphrased
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2005.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: apps/e englebass

2007-05-08 Thread Sebastian Dransfeld

Hannes Janetzek wrote:

Am Mon, 07 May 2007 20:05:46 +0300
schrieb Виктор Кожухаров [EMAIL PROTECTED]:


В пн, 2007-05-07 в 12:37 -0400, Enlightenment CVS напи�а:

Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : apps/e

Dir : e17/apps/e/src/bin


Modified Files:
	e_shelf.c e_shelf.h 



Log Message:
Don't user timer to hide shelf.

What's the reason behind this?


The reason for using the timer was that the mouse-out-event got
lost sometimes when using mouse-out from the evas, but with the
mouse-out-event from the ecore_evas it works nicely. So this is
probably the better solution.

btw. I found another small problem with autohide. The shelf should
show when a drag-n-drop item is moved over it. see ibar for
example. 


Tried now? Fixed this yesterday too :)

Sebastian

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: apps/e englebass

2007-05-07 Thread Виктор Кожухаров
В пн, 2007-05-07 в 12:37 -0400, Enlightenment CVS написа:
 Enlightenment CVS committal
 
 Author  : englebass
 Project : e17
 Module  : apps/e
 
 Dir : e17/apps/e/src/bin
 
 
 Modified Files:
   e_shelf.c e_shelf.h 
 
 
 Log Message:
 Don't user timer to hide shelf.
What's the reason behind this?
 
 ===
 RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.c,v
 retrieving revision 1.60
 retrieving revision 1.61
 diff -u -3 -r1.60 -r1.61
 --- e_shelf.c 6 May 2007 16:52:24 -   1.60
 +++ e_shelf.c 7 May 2007 16:37:54 -   1.61
 @@ -18,6 +18,7 @@
  static void _e_shelf_cb_menu_items_append(void *data, E_Menu *mn);
  static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, 
 void *event_info);
  static void _e_shelf_cb_mouse_in(Ecore_Evas *ee);
 +static void _e_shelf_cb_mouse_out(Ecore_Evas *ee);
  static int  _e_shelf_cb_id_sort(void *data1, void *data2);
  static int  _e_shelf_cb_hide_timer(void *data);
  static int  _e_shelf_cb_hide_animator(void *data);
 @@ -140,6 +141,7 @@
 
 evas_object_event_callback_add(es-o_event, EVAS_CALLBACK_MOUSE_DOWN, 
 _e_shelf_cb_mouse_down, es);
 ecore_evas_callback_mouse_in_set(es-ee, _e_shelf_cb_mouse_in);
 +   ecore_evas_callback_mouse_out_set(es-ee, _e_shelf_cb_mouse_out);
   
 es-o_base = edje_object_add(es-evas);
 es-name = evas_stringshare_add(name);
 @@ -271,29 +273,23 @@
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
  
 -  if ((!es-cfg-autohide)  (!es-hidden)) return;
 +  if (!es-cfg-autohide) return;
  
 -  if (show)
 -{
 -   if (!es-hide_timer) es-hide_timer = ecore_timer_add(0.3, 
 _e_shelf_cb_hide_timer, es);
 -
 -   if ((es-hidden)  (!es-instant_timer))
 -  {  
 - es-hidden = 0;
 - edje_object_signal_emit(es-o_base, e,state,visible, e);
 - if (es-instant_delay = 0.0)
 -   {
 -  if (!es-instant_timer)
 -_e_shelf_cb_instant_hide_timer(es);
 -   }
 - else
 -   {
 -  if (!es-hide_animator)
 -es-hide_animator = 
 ecore_animator_add(_e_shelf_cb_hide_animator, es);
 -   }
 +  if ((show)  (es-hidden))
 +{  
 +   es-hidden = 0;
 +   edje_object_signal_emit(es-o_base, e,state,visible, e);
 +   if (es-instant_delay = 0.0)
 +  {
 + _e_shelf_cb_instant_hide_timer(es);
 +  }
 +   else
 +  {
 + if (!es-hide_animator)
 +   es-hide_animator = ecore_animator_add(_e_shelf_cb_hide_animator, 
 es);
}
  }
 -  else if ((!show)  (es-cfg-autohide)  (!es-hidden)  
 (!es-gadcon-editing))  
 +  else if ((!show)  (!es-hidden)  (!es-gadcon-editing))  
  {
 es-hidden = 1; 
 edje_object_signal_emit(es-o_base, e,state,hidden, e);
 @@ -617,11 +613,6 @@
  static void
  _e_shelf_free(E_Shelf *es)
  {
 -   if (es-hide_timer)
 - {
 - ecore_timer_del(es-hide_timer);
 - es-hide_timer = NULL;
 - }
 if (es-hide_animator)
   {
   ecore_animator_del(es-hide_animator);
 @@ -632,7 +623,7 @@
   ecore_timer_del(es-instant_timer);
   es-instant_timer = NULL;
   }
 -   
 +
 if (es-menu)
   {
   e_menu_post_deactivate_callback_set(es-menu, NULL, NULL);
 @@ -1150,11 +1141,20 @@
  
 es = ecore_evas_data_get(ee, e_shelf);
 if (!es) return;
 -   es-last_in = ecore_time_get();
 edje_object_signal_emit(es-o_base, e,state,focused, e);
 e_shelf_toggle(es, 1);
  }
  
 +static void 
 +_e_shelf_cb_mouse_out(Ecore_Evas *ee)
 +{
 +   E_Shelf *es;
 +
 +   es = ecore_evas_data_get(ee, e_shelf);
 +   if (!es) return;
 +   e_shelf_toggle(es, 0);
 +}
 +
  static int
  _e_shelf_cb_id_sort(void *data1, void *data2)
  {
 @@ -1163,41 +1163,6 @@
 es1 = data1;
 es2 = data2;
 return (es1-id)  (es2-id);
 -}
 -
 -static int 
 -_e_shelf_cb_hide_timer(void *data)
 -{
 -  Evas_Coord x, y, w, h, px, py;
 -
 -  E_Shelf *es = data;
 -
 -  evas_object_geometry_get(es-o_base, x, y, w, h);
 -  if (es-popup)
 -ecore_x_pointer_xy_get(es-popup-evas_win, px, py);
 -  else
 -ecore_x_pointer_xy_get(es-zone-black_win, px, py);
 -  
 -  if (E_INSIDE(px, py, x, y, w, h))
 -{
 -  es-last_in = ecore_time_get();
 -  return 1;
 -}
 -  else
 -{
 -   if ((es-last_in + es-cfg-hide_timeout)  ecore_time_get()) 
 -  {
 - e_shelf_toggle(es, 0);
 - if (es-hide_timer)
 -   {
 -  ecore_timer_del(es-hide_timer);
 -  es-hide_timer = NULL;
 -   }   
 - return 0;
 -  }
 -   else
 -  return 1;
 -}
  }
  
  static int
 ===
 RCS file: /cvs/e/e17/apps/e/src/bin/e_shelf.h,v
 retrieving revision 1.21
 retrieving revision 1.22
 diff -u -3 -r1.21 -r1.22
 --- e_shelf.h 23 Apr 2007 17:21:38 -  1.21
 +++ e_shelf.h 7 May 2007 16:37:54 -   1.22
 @@ -37,10 

Re: [E-devel] E CVS: apps/e englebass

2007-04-05 Thread Ravenlock
On 04/05/2007 10:36, Enlightenment CVS wrote:
 Enlightenment CVS committal
 
 Author  : englebass
 Project : e17
 Module  : apps/e
 
 Dir : e17/apps/e/src/bin
 
 
 Modified Files:
   e_int_menus.c 
 
 
 Log Message:
 - No need to use calloc.

Was curious about your reason(s) for not wanting to use calloc. 
Sometimes the argument is speed. Just wondering your reasons.

The main reason I ask is because without it, a bug appears.  The reason 
a bug seems to appear is that I depend on the allocated block being 
initialized to zeros.  The first use of strNcpy below is copying a 
string of chars whose src is greater in length than the number of chars 
being copied.  The resultant string does not have a null terminator at 
the end of the src chars copied.  Since the block allocated has garbage 
in it... there can be N chars before a null terminator is found.  This 
is significant because strNcat looks for that null terminator in its 
first arg, and begins the append there.  The result is we wind up with 
some unforeseen junk in the string.

The above bug can be reproduced easily by simply setting the max length 
of your clientlist menu captions to something quite small... say 10 
characters.  And then viewing your clientlist menu.

Best case we wind up with no junk.  Worst case... E seems to segv.

One fix is to return to the use of calloc().  Another would be to write 
a line or two more and make sure abbv has a null terminator where I 
expect it to be, before continuing with the strncat()s.

Please let me know your thoughts on this... and if I've misdiagnosed the 
problem.

 - Use const char to store pointers to title.
 
 ===
 RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v
 retrieving revision 1.208
 retrieving revision 1.209
 diff -u -3 -r1.208 -r1.209
 --- e_int_menus.c 4 Apr 2007 13:25:54 -   1.208
 +++ e_int_menus.c 5 Apr 2007 15:36:37 -   1.209
 @@ -1254,19 +1254,21 @@
  static const char *
  _e_int_menus_clients_title_abbrv(const char *title)
  {
 -   char *abbv, *left, *right;
 int max_len;
  
 max_len = e_config-clientlist_max_caption_len;
 if ((max_len != 0)  (strlen(title)  max_len))
   {
 - abbv = calloc(E_CLIENTLIST_MAX_CAPTION_LEN+4, sizeof(char));
 + char *abbv;
 + const char *left, *right;
 +
 + abbv = malloc(E_CLIENTLIST_MAX_CAPTION_LEN + 4);
   left = title;
 - right = title + (strlen(title) - (max_len/2));
 - 
 - strncpy(abbv, left, max_len/2);
 + right = title + (strlen(title) - (max_len / 2));
 +
 + strncpy(abbv, left, max_len / 2);
   strncat(abbv, ..., 3);
 - strncat(abbv, right, max_len/2);
 + strncat(abbv, right, max_len / 2);
  
   return abbv;
   }
 
 
 
 -
 Take Surveys. Earn Cash. Influence the Future of IT
 Join SourceForge.net's Techsay panel and you'll get the chance to share your
 opinions on IT  business topics through brief surveys-and earn cash
 http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
 ___
 enlightenment-cvs mailing list
 enlightenment-cvs@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs
 
 


-- 
Regards,
Ravenlock

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E CVS: apps/e englebass (FreeBSD Breakage?)

2006-12-15 Thread Ravenlock

On 12/15/2006 02:32, Enlightenment CVS wrote:

Enlightenment CVS committal

Author  : englebass
Project : e17
Module  : apps/e

Dir : e17/apps/e/src/modules/temperature


Modified Files:
	e_mod_config.c e_mod_main.c e_mod_main.h 



I think the patch below has broken me.  Using a fresh cvsup, I can not 
build apps/e and the associated temperature module.  Attached is a patch 
that allows it to build on my machine, and the temperature module still 
seems to function.  Though honestly I'm not sure if I've patched it 
properly.


Additionally, cpufreq would not build (though no fault of this commit). 
 I've patched it and attached that patch to this as well.  It too seems 
to still run now. Please review.  I've seen no commit regarding cpufreq 
recently so... dunno.  Maybe something wron on my end.


I'm a bit new so, if I simply had bad bits on my machine please excuse. 
 Also,  I do not usually use those modules, and happen to have a bit of 
an odd setup... so please take my testing of them with a grain of salt.


Regards.




Log Message:
Only check the type of sensor on init and when changing config.

===
RCS file: /cvs/e/e17/apps/e/src/modules/temperature/e_mod_config.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_mod_config.c  14 Dec 2006 15:04:15 -  1.25
+++ e_mod_config.c  15 Dec 2006 08:32:31 -  1.26
@@ -29,7 +29,7 @@
int high_temp;
 
int sensor;

-   int acpizone;
+   Ecore_List *sensors;
 };
 
 /* Protos */

@@ -67,8 +67,9 @@
 static void
 _fill_data(E_Config_Dialog_Data *cfdata) 
 {

-   double p;
+   double  p;
Ecore_List *therms;
+   char   *name;

cfdata-units = temperature_config-units;
if (temperature_config-units == CELCIUS) 
@@ -110,34 +111,46 @@

  cfdata-high_method = TEMP_HIGH_HIGH;

cfdata-sensor = 0;

-   if (temperature_config-sensor_name)
- {
-	if (!strcmp(temperature_config-sensor_name, temp1)) 
-	  cfdata-sensor = 0;
-	else if (!strcmp(temperature_config-sensor_name, temp2)) 
-	  cfdata-sensor = 1;
-	else if (!strcmp(temperature_config-sensor_name, temp3)) 
-	  cfdata-sensor = 2;

- }
-   cfdata-acpizone = 0;
-   if (temperature_config-acpi_sel)
+   switch (temperature_config-sensor_type)
  {
-   therms = ecore_file_ls(/proc/acpi/thermal_zone);
-   if (therms)
-{
-   char *tzone;
-   int n = 0;
-   while ((tzone = ecore_list_next(therms)))
- {
-if (!strcmp(temperature_config-acpi_sel, tzone))
-  {
- cfdata-acpizone = n;
- break;
-  }
-else n++;
- }
-   ecore_list_destroy(therms);
-}
+  case SENSOR_TYPE_NONE:
+break;
+  case SENSOR_TYPE_FREEBSD:
+break;
+  case SENSOR_TYPE_OMNIBOOK:
+break;
+  case SENSOR_TYPE_LINUX_MACMINI:
+break;
+  case SENSOR_TYPE_LINUX_I2C:
+ecore_list_append(cfdata-sensors, strdup(temp1));
+ecore_list_append(cfdata-sensors, strdup(temp2));
+ecore_list_append(cfdata-sensors, strdup(temp3));
+ecore_list_goto_first(cfdata-sensors);
+while ((name = ecore_list_next(cfdata-sensors)))
+  {
+	  if (!strcmp(temperature_config-sensor_name, name)) 
+		break;

+ cfdata-sensor++;
+  }
+break;
+  case SENSOR_TYPE_LINUX_ACPI:
+therms = ecore_file_ls(/proc/acpi/thermal_zone);
+if (therms)
+  {
+ int n = 0;
+
+ while ((name = ecore_list_next(therms)))
+   {
+  ecore_list_append(cfdata-sensors, strdup(name));
+  if (!strcmp(temperature_config-sensor_name, name))
+{
+   cfdata-sensor = n;
+}
+  n++;
+   }
+ ecore_list_destroy(therms);
+  }
+break;
  }
 }
 
@@ -147,6 +160,8 @@

E_Config_Dialog_Data *cfdata;

cfdata = E_NEW(E_Config_Dialog_Data, 1);

+   cfdata-sensors = ecore_list_new();
+   ecore_list_set_free_cb(cfdata-sensors, free);
_fill_data(cfdata);
return cfdata;
 }
@@ -155,6 +170,8 @@
 _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) 
 {

temperature_config-config_dialog = NULL;
+   if (cfdata-sensors) ecore_list_destroy(cfdata-sensors);
+   cfdata-sensors = NULL;
free(cfdata);
 }
 
@@ -276,57 +293,24 @@

e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);
 
-#ifndef __FreeBSD__

-   Ecore_List *therms;
-
-   therms = ecore_file_ls(/proc/acpi/thermal_zone);
-   if ((!therms) || (ecore_list_is_empty(therms)))
+   if (!ecore_list_is_empty(cfdata-sensors))
  {
-   FILE *f;
-   
-   if (therms)
- {
-ecore_list_destroy(therms);
-therms