[EGIT] [core/efl] master 01/01: efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format.

2017-08-30 Thread Woochan Lee
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f4522d4124adfaea26602d93fc03249a859b1769

commit f4522d4124adfaea26602d93fc03249a859b1769
Author: Woochan Lee 
Date:   Thu Aug 31 14:16:26 2017 +0900

efl_ui_clock: Add 'O' character to ignore POSIX alternative format in 
format.

Summary:
_parse_format() function filtering "_/-/0/^/*" to filter POSIX 
alternatvie/extension formats,
But the Datetime do not appear in some locale(fa_IR, lzh_TW, my_MM, or_IN) 
with 'O'.

+ improve code. (not compare with all of the characters. instead of that 
using strchr)

https://lh.2xlibre.net/values/d_t_fmt/

@fix

Test Plan: Set locale as fa_IR and create DateTime. and see fields, not 
appears.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5020
---
 src/lib/elementary/efl_ui_clock.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_clock.c 
b/src/lib/elementary/efl_ui_clock.c
index adb904ef54..77aed3814e 100644
--- a/src/lib/elementary/efl_ui_clock.c
+++ b/src/lib/elementary/efl_ui_clock.c
@@ -66,6 +66,7 @@ static Format_Map mapping[EFL_UI_CLOCK_TYPE_COUNT] = {
 
 static const char *multifield_formats = "cxXrRTDF";
 static const char *ignore_separators = "()";
+static const char *ignore_extensions = "E0_-O^#";
 static Clock_Mod_Api *dt_mod = NULL;
 
 static const char SIG_CHANGED[] = "changed";
@@ -285,7 +286,7 @@ _parse_format(Evas_Object *obj,
  {
 if (fmt_parsing)
   {
- if (cur == '_' || cur == '-' || cur == '0' || cur == '^' || cur 
== '#')
+ if (strchr(ignore_extensions, cur))
{
   fmt_ptr++;
   continue;

-- 




[EGIT] [core/efl] master 01/02: multibuttonentry: Separate selected item and focused item logic.

2017-08-30 Thread Woochan Lee
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5eb001dd35aac5c50683d509bec0b249f9ae5363

commit 5eb001dd35aac5c50683d509bec0b249f9ae5363
Author: Woochan Lee 
Date:   Thu Aug 31 14:01:04 2017 +0900

multibuttonentry: Separate selected item and focused item logic.

Summary:
When user set a selected item on MBE creation time.
The internal logic will be broke.
So we need to separate logic them.

@fix

Test Plan:
Calling elm_multibuttonentry_item_selected_set() before MBE got a focus. in 
elementary_test.

Reviewers: cedric, jpeg, woohyun

Subscribers: bu5hm4n, marcelhollerbach, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4882
---
 src/lib/elementary/elc_multibuttonentry.c| 19 ++-
 src/lib/elementary/elm_widget_multibuttonentry.h |  1 +
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index e3f9702109..cf59d7738d 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -357,6 +357,8 @@ _elm_multibuttonentry_elm_widget_on_focus(Eo *obj, 
Elm_Multibuttonentry_Data *sd
   {
  if ((sd->selected_it))
{
+  elm_layout_signal_emit(VIEW(sd->selected_it), 
"elm,state,focused", "elm");
+  elm_object_focus_set(VIEW(sd->selected_it), EINA_TRUE);
   elm_entry_input_panel_show(sd->entry);
}
  else if (((!sd->selected_it) || (!eina_list_count(sd->items
@@ -376,6 +378,10 @@ _elm_multibuttonentry_elm_widget_on_focus(Eo *obj, 
Elm_Multibuttonentry_Data *sd
  _view_update(sd);
  elm_entry_input_panel_hide(sd->entry);
   }
+
+if (sd->selected_it)
+  elm_layout_signal_emit(VIEW(sd->selected_it), "elm,state,unfocused", 
"elm");
+
 efl_event_callback_legacy_call
   (obj, ELM_WIDGET_EVENT_UNFOCUSED, NULL);
  }
@@ -400,6 +406,9 @@ _item_del(Elm_Multibuttonentry_Item_Data *item)
if (sd->selected_it == item)
  sd->selected_it = NULL;
 
+   if (sd->focused_it == item)
+ sd->focused_it = NULL;
+
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
  _shrink_mode_set(obj, EINA_TRUE);
 
@@ -565,7 +574,7 @@ _on_item_focused(void *data,
 
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
-   sd->selected_it = it;
+   sd->focused_it = it;
 }
 
 static void
@@ -578,8 +587,7 @@ _on_item_unfocused(void *data,
 
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
-   sd->selected_it = NULL;
-   elm_layout_signal_emit(VIEW(it), "elm,state,unfocused", "elm");
+   sd->focused_it = NULL;
 }
 
 static Eina_Bool
@@ -1142,11 +1150,11 @@ _layout_key_down_cb(void *data,
   elm_object_focus_set(sd->entry, EINA_TRUE);
}
   }
-else if (sd->selected_it &&
+else if (sd->focused_it &&
 ((!strcmp(ev->key, "KP_Enter")) ||
  (!strcmp(ev->key, "Return"
   {
- Elm_Multibuttonentry_Item_Data *item = sd->selected_it;
+ Elm_Multibuttonentry_Item_Data *item = sd->focused_it;
  if (item)
_on_item_clicked(EO_OBJ(item), NULL, NULL, NULL);
   }
@@ -1635,6 +1643,7 @@ _elm_multibuttonentry_efl_canvas_group_group_del(Eo *obj, 
Elm_Multibuttonentry_D
sd->items = eina_list_free(sd->items);
 
sd->selected_it = NULL;
+   sd->focused_it = NULL;
 
eina_stringshare_del(sd->label_str);
eina_stringshare_del(sd->guide_text_str);
diff --git a/src/lib/elementary/elm_widget_multibuttonentry.h 
b/src/lib/elementary/elm_widget_multibuttonentry.h
index 87b90d6892..a6d5041718 100644
--- a/src/lib/elementary/elm_widget_multibuttonentry.h
+++ b/src/lib/elementary/elm_widget_multibuttonentry.h
@@ -86,6 +86,7 @@ struct _Elm_Multibuttonentry_Data
Eina_List  *items;
Eina_List  *filter_list;
Elm_Multibuttonentry_Item_Data *selected_it; /* selected item */
+   Elm_Multibuttonentry_Item_Data *focused_it;
 
Elm_Multibuttonentry_Format_Cb  format_func;
const void *format_func_data;

-- 




[EGIT] [core/efl] master 02/02: mbe: Fix infinite recursion on focus change

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=71824e1fe0bd0827ac3fc8ddaf6d30b85197fe49

commit 71824e1fe0bd0827ac3fc8ddaf6d30b85197fe49
Author: Jean-Philippe Andre 
Date:   Thu Aug 31 14:14:50 2017 +0900

mbe: Fix infinite recursion on focus change

Ref D4882
---
 src/lib/elementary/elc_multibuttonentry.c| 6 ++
 src/lib/elementary/elm_widget_multibuttonentry.h | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index cf59d7738d..8a14381926 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -350,6 +350,9 @@ _elm_multibuttonentry_elm_widget_on_focus(Eo *obj, 
Elm_Multibuttonentry_Data *sd
 {
if (elm_widget_focus_get(obj))
  {
+if (sd->focused) goto end;
+sd->focused = EINA_TRUE;
+
 // ACCESS
 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) goto end;
 
@@ -373,6 +376,9 @@ _elm_multibuttonentry_elm_widget_on_focus(Eo *obj, 
Elm_Multibuttonentry_Data *sd
  }
else
  {
+if (sd->focused) goto end;
+sd->focused = EINA_FALSE;
+
 if (sd->editable)
   {
  _view_update(sd);
diff --git a/src/lib/elementary/elm_widget_multibuttonentry.h 
b/src/lib/elementary/elm_widget_multibuttonentry.h
index a6d5041718..ca8b58e03e 100644
--- a/src/lib/elementary/elm_widget_multibuttonentry.h
+++ b/src/lib/elementary/elm_widget_multibuttonentry.h
@@ -104,7 +104,7 @@ struct _Elm_Multibuttonentry_Data
 
Eina_Bool   last_it_select : 1;
Eina_Bool   editable : 1;
-   Eina_Bool   focused : 1;
+   Eina_Bool   focused : 1; // avoids infinite loop on 
focus in/out
Eina_Bool   label_packed : 1;
 
Ecore_Timer *longpress_timer;

-- 




Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread jeanseb . valette

Hi, 


I think it should be : 


./autogen.sh 
./configure 
make 
sudo make install 
sudo ldconfig 


I use both autogent.sh and configure in my debian/rules file to generate my 
.deb. 





- Mail original -

De: "Davide Andreoli"  
À: "Enlightenment developer list"  
Cc: "“g...@lists.enlightenment.org”"  
Envoyé: Mercredi 30 Août 2017 22:53:51 
Objet: Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page 
download changed with summary [] by Mike Blumenkrantz 

2017-08-30 22:08 GMT+02:00 Mike Blumenkrantz : 

> WWW-www.enlightenment.org pushed a commit to branch master. 
> 
> http://git.enlightenment.org/website/www-content.git/commit/?id= 
> 1f3a717a3cedff7de88b0a6476323775fb066133 
> 
> commit 1f3a717a3cedff7de88b0a6476323775fb066133 
> Author: Mike Blumenkrantz  
> Date: Wed Aug 30 13:08:16 2017 -0700 
> 
> Wiki page download changed with summary [] by Mike Blumenkrantz 
> --- 
> pages/download.txt | 2 +- 
> 1 file changed, 1 insertion(+), 1 deletion(-) 
> 
> diff --git a/pages/download.txt b/pages/download.txt 
> index c267e814..e978bd93 100644 
> --- a/pages/download.txt 
> +++ b/pages/download.txt 
> @@ -33,7 +33,7 @@ When compiling from source, build in this order: 
> For every tarball you download untar it with ''tar zxf file.tar.gz'' and 
> then go into the directory created. Please see the README file in this 
> directory for each project for information on dependencies, configuration 
> etc. Just remember that all our release tarballs come with configure set up 
> so to compile you just need to do this in the source directory: 
> 
>  
> -./configure 
> +./autogen.sh 
> make 
> sudo make install 
> sudo ldconfig # needed on Linux to update linker library database 
> 

Are you sure about this? 
usually released package ship with the configure script already generated 
and the user is not expected to run autogen (that need much more 
dependencies and tools to run) 




> 
> -- 
> 
> 
> 
-- 
Check out the vibrant tech community on one of the world's most 
engaging tech sites, Slashdot.org! http://sdm.link/slashdot 
___ 
enlightenment-devel mailing list 
enlightenment-devel@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel 

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/02: widget: Fix legacy for focus_mouse_up_handle (EO)

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=94d671c9715fef600c515bb1ae38bfb884d0bb82

commit 94d671c9715fef600c515bb1ae38bfb884d0bb82
Author: Jean-Philippe Andre 
Date:   Thu Aug 31 11:27:49 2017 +0900

widget: Fix legacy for focus_mouse_up_handle (EO)

This removes the special code in the legacy API for
elm_widget_focus_mouse_up_handle. Add an internal helper to find the
first widget parent. And mark as protected.
Apparently this functions is still required for the new focus manager.

Ref T5363
---
 src/lib/elementary/efl_ui_win.c  |  2 +-
 src/lib/elementary/elm_widget.c  | 19 ++-
 src/lib/elementary/elm_widget.eo |  1 -
 src/lib/elementary/elm_widget.h  |  9 +
 4 files changed, 12 insertions(+), 19 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 82b5636fb6..ce5986c645 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2726,7 +2726,7 @@ _win_img_mouse_up(void *data,
 {
Evas_Event_Mouse_Up *ev = event_info;
if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
- elm_widget_focus_mouse_up_handle(data);
+ elm_widget_focus_mouse_up_handle(evas_object_widget_parent_find(data));
 }
 
 static void
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index cbac977eb4..4cd4157580 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -575,7 +575,7 @@ _obj_mouse_up(void *data,
 
if (sd->still_in && (ev->flags == EVAS_BUTTON_NONE) &&
(sd->focus_move_policy == ELM_FOCUS_MOVE_POLICY_CLICK))
- elm_widget_focus_mouse_up_handle(obj);
+ elm_widget_focus_mouse_up_handle(evas_object_widget_parent_find(obj));
 
sd->still_in = EINA_FALSE;
 }
@@ -588,7 +588,7 @@ _obj_mouse_in(void *data,
 {
ELM_WIDGET_DATA_GET(data, sd);
if (sd->focus_move_policy == ELM_FOCUS_MOVE_POLICY_IN)
- elm_widget_focus_mouse_up_handle(obj);
+ elm_widget_focus_mouse_up_handle(evas_object_widget_parent_find(obj));
 }
 
 EOLIAN static void
@@ -4261,24 +4261,9 @@ _elm_widget_focus_hide_handle(Eo *obj, 
Elm_Widget_Smart_Data *_pd EINA_UNUSED)
_if_focused_revert(obj, EINA_TRUE);
 }
 
-EAPI void
-elm_widget_focus_mouse_up_handle(Evas_Object *obj)
-{
-   Evas_Object *o = obj;
-   do
- {
-if (_elm_widget_is(o)) break;
-o = evas_object_smart_parent_get(o);
- }
-   while (o);
-
-   elm_obj_widget_focus_mouse_up_handle(o);
-}
-
 EOLIAN static void
 _elm_widget_focus_mouse_up_handle(Eo *obj, Elm_Widget_Smart_Data *pd)
 {
-   if (!obj) return;
if (!_is_focusable(obj)) return;
 
elm_obj_widget_focus_steal(obj, NULL);
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index c414a078c1..a2db55cfc9 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -409,7 +409,6 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
   /* FIXME: Needs better doc... maybe merge with widget_event? */
   focus_mouse_up_handle {
  [[Handle focus mouse up]]
- legacy: null;
   }
 
   /* Scroll API. */
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index 453672b924..fe8f6c329f 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -826,6 +826,15 @@ elm_widget_is_legacy(const Eo *obj)
return sd ? sd->legacy : EINA_FALSE;
 }
 
+/** Takes in any canvas object and returns the first smart parent that is a 
widget */
+static inline Elm_Widget *
+evas_object_widget_parent_find(Evas_Object *o)
+{
+   while (o && !efl_isa(o, ELM_WIDGET_CLASS))
+ evas_object_smart_parent_get(o);
+   return o;
+}
+
 /* to be used by INTERNAL classes on Elementary, so that the widgets
  * parsing script skips it */
 #define ELM_INTERNAL_SMART_SUBCLASS_NEW EVAS_SMART_SUBCLASS_NEW

-- 




[EGIT] [core/efl] master 01/02: widget: Mark old focus API as beta.

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b6bab481aa8c4297f7692422b61dacf08f9e1d10

commit b6bab481aa8c4297f7692422b61dacf08f9e1d10
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 16:40:22 2017 +0900

widget: Mark old focus API as beta.

It's not beta. It's about to die.
Also, move #define ELM_WIDGET_BETA to the common header file, as it is
consequently required by ALL widgets. :(

Ping @bu5hm4n :)

Ref T5363
---
 src/lib/elementary/efl_ui_box.c |  4 +-
 src/lib/elementary/efl_ui_button.c  |  1 -
 src/lib/elementary/efl_ui_check.c   |  1 -
 src/lib/elementary/efl_ui_clock.c   |  2 +-
 src/lib/elementary/efl_ui_flip.c|  4 +-
 src/lib/elementary/efl_ui_frame.c   |  4 +-
 src/lib/elementary/efl_ui_grid.c|  4 +-
 src/lib/elementary/efl_ui_layout.c  |  4 +-
 src/lib/elementary/efl_ui_panes.c   |  2 +-
 src/lib/elementary/efl_ui_radio.c   |  1 -
 src/lib/elementary/efl_ui_slider.c  |  1 -
 src/lib/elementary/efl_ui_text.c|  1 -
 src/lib/elementary/efl_ui_win.c | 18 -
 src/lib/elementary/elc_ctxpopup.c   | 18 -
 src/lib/elementary/elc_fileselector_entry.c |  4 +-
 src/lib/elementary/elc_multibuttonentry.c   |  1 -
 src/lib/elementary/elc_naviframe.c  |  5 +--
 src/lib/elementary/elc_popup.c  | 13 +++---
 src/lib/elementary/elementary_config.h  |  1 +
 src/lib/elementary/elm_access.c |  5 +--
 src/lib/elementary/elm_box.c|  4 +-
 src/lib/elementary/elm_bubble.c |  5 +--
 src/lib/elementary/elm_calendar.c   |  1 -
 src/lib/elementary/elm_clock.c  |  1 -
 src/lib/elementary/elm_code_widget.c| 20 +-
 src/lib/elementary/elm_colorselector.c  |  1 -
 src/lib/elementary/elm_conform.c|  4 +-
 src/lib/elementary/elm_diskselector.c   |  3 +-
 src/lib/elementary/elm_entry.c  |  1 -
 src/lib/elementary/elm_factory.c|  4 +-
 src/lib/elementary/elm_gengrid.c|  1 -
 src/lib/elementary/elm_genlist.c|  3 +-
 src/lib/elementary/elm_grid.c   |  4 +-
 src/lib/elementary/elm_index.c  |  1 -
 src/lib/elementary/elm_inwin.c  |  2 +-
 src/lib/elementary/elm_list.c   |  3 +-
 src/lib/elementary/elm_main.c   | 36 -
 src/lib/elementary/elm_notify.c |  4 +-
 src/lib/elementary/elm_panel.c  |  9 ++---
 src/lib/elementary/elm_prefs.c  |  4 +-
 src/lib/elementary/elm_scroller.c   |  9 ++---
 src/lib/elementary/elm_segment_control.c|  3 +-
 src/lib/elementary/elm_spinner.c|  1 -
 src/lib/elementary/elm_table.c  |  4 +-
 src/lib/elementary/elm_toolbar.c|  1 -
 src/lib/elementary/elm_widget.c | 59 ++--
 src/lib/elementary/elm_widget.eo| 61 +++--
 src/lib/elementary/elm_widget.h | 26 
 48 files changed, 160 insertions(+), 209 deletions(-)

diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index c9e51d1714..0afdbe21d4 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -55,7 +55,7 @@ _efl_ui_box_elm_widget_focus_next(Eo *obj, Efl_Ui_Box_Data 
*_pd EINA_UNUSED, Elm
 
/* Focus chain */
/* TODO: Change this to use other chain */
-   if ((items = elm_widget_focus_custom_chain_get(obj)))
+   if ((items = elm_obj_widget_focus_custom_chain_get(obj)))
  list_data_get = eina_list_data_get;
else
  {
@@ -84,7 +84,7 @@ _efl_ui_box_elm_widget_focus_direction(Eo *obj EINA_UNUSED, 
Efl_Ui_Box_Data *_pd
const Eina_List *items;
void *(*list_data_get)(const Eina_List *list);
 
-   if ((items = elm_widget_focus_custom_chain_get(obj)))
+   if ((items = elm_obj_widget_focus_custom_chain_get(obj)))
  list_data_get = eina_list_data_get;
else
  {
diff --git a/src/lib/elementary/efl_ui_button.c 
b/src/lib/elementary/efl_ui_button.c
index c954b05cc9..dadba18631 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -5,7 +5,6 @@
 #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
 #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
 #define ELM_LAYOUT_PROTECTED
-#define ELM_WIDGET_BETA
 
 #include 
 #include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_check.c 
b/src/lib/elementary/efl_ui_check.c
index badcd34168..507581255f 100644
--- a/src/lib/elementary/efl_ui_check.c
+++ b/src/lib/elementary/efl_ui_check.c
@@ -6,7 +6,6 @@
 #define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
 #define ELM_LAYOUT_PROTECTED
 #define EFL_UI_NSTATE_PROTECTED
-#define ELM_WIDGET_BETA
 
 #include 
 #include "elm_priv.h"
diff --git a/src/lib/elementary/efl_ui_clock.c 

Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread Vincent Torri
On Thu, Aug 31, 2017 at 7:37 AM, Simon Lees  wrote:
>
>
> On 31/08/17 13:36, Vincent Torri wrote:
>> On Wed, Aug 30, 2017 at 11:53 PM, Davide Andreoli
>>  wrote:
>>> 2017-08-30 22:08 GMT+02:00 Mike Blumenkrantz :
>>>
 WWW-www.enlightenment.org pushed a commit to branch master.

 http://git.enlightenment.org/website/www-content.git/commit/?id=
 1f3a717a3cedff7de88b0a6476323775fb066133

 commit 1f3a717a3cedff7de88b0a6476323775fb066133
 Author: Mike Blumenkrantz 
 Date:   Wed Aug 30 13:08:16 2017 -0700

 Wiki page download changed with summary [] by Mike Blumenkrantz
 ---
  pages/download.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 diff --git a/pages/download.txt b/pages/download.txt
 index c267e814..e978bd93 100644
 --- a/pages/download.txt
 +++ b/pages/download.txt
 @@ -33,7 +33,7 @@ When compiling from source, build in this order:
  For every tarball you download untar it with ''tar zxf file.tar.gz'' and
 then go into the directory created. Please see the README file in this
 directory for each project for information on dependencies, configuration
 etc. Just remember that all our release tarballs come with configure set up
 so to compile you just need to do this in the source directory:

  
 -./configure
 +./autogen.sh
  make
  sudo make install
  sudo ldconfig # needed on Linux to update linker library database

>>>
>>> Are you sure about this?
>>> usually released package ship with the configure script already generated
>>> and the user is not expected to run autogen (that need much more
>>> dependencies and tools to run)
>>
>> that is indeed the purpose of the dist rule.
>>
>> what is the problem when running just configure ?
>>
>> Vincent
>>
>
> The problem is Mike is using Meson to generate the tarball so configure
> isn't created. Maybe also listing the instructions to build with Meson
> here as well as an alternative would be worth while so people kmow how
> to test it.

then ițm not sure that make should be used.

thgere should be 2 set of instructions, one with autotools, he other
one with meson, imho

Vincent

> Alternatively at one point raster suggested on irc continuing to make
> the release tarballs with autotools but adding the meson build files to
> the extra dist files in autotools so they also get included.
>
> --
>
> Simon Lees (Simotek)http://simotek.net
>
> Emergency Update Team   keybase.io/simotek
> SUSE Linux   Adelaide Australia, UTC+10:30
> GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread Simon Lees


On 31/08/17 13:36, Vincent Torri wrote:
> On Wed, Aug 30, 2017 at 11:53 PM, Davide Andreoli
>  wrote:
>> 2017-08-30 22:08 GMT+02:00 Mike Blumenkrantz :
>>
>>> WWW-www.enlightenment.org pushed a commit to branch master.
>>>
>>> http://git.enlightenment.org/website/www-content.git/commit/?id=
>>> 1f3a717a3cedff7de88b0a6476323775fb066133
>>>
>>> commit 1f3a717a3cedff7de88b0a6476323775fb066133
>>> Author: Mike Blumenkrantz 
>>> Date:   Wed Aug 30 13:08:16 2017 -0700
>>>
>>> Wiki page download changed with summary [] by Mike Blumenkrantz
>>> ---
>>>  pages/download.txt | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/pages/download.txt b/pages/download.txt
>>> index c267e814..e978bd93 100644
>>> --- a/pages/download.txt
>>> +++ b/pages/download.txt
>>> @@ -33,7 +33,7 @@ When compiling from source, build in this order:
>>>  For every tarball you download untar it with ''tar zxf file.tar.gz'' and
>>> then go into the directory created. Please see the README file in this
>>> directory for each project for information on dependencies, configuration
>>> etc. Just remember that all our release tarballs come with configure set up
>>> so to compile you just need to do this in the source directory:
>>>
>>>  
>>> -./configure
>>> +./autogen.sh
>>>  make
>>>  sudo make install
>>>  sudo ldconfig # needed on Linux to update linker library database
>>>
>>
>> Are you sure about this?
>> usually released package ship with the configure script already generated
>> and the user is not expected to run autogen (that need much more
>> dependencies and tools to run)
> 
> that is indeed the purpose of the dist rule.
> 
> what is the problem when running just configure ?
> 
> Vincent
> 

The problem is Mike is using Meson to generate the tarball so configure
isn't created. Maybe also listing the instructions to build with Meson
here as well as an alternative would be worth while so people kmow how
to test it.

Alternatively at one point raster suggested on irc continuing to make
the release tarballs with autotools but adding the meson build files to
the extra dist files in autotools so they also get included.

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread Vincent Torri
On Wed, Aug 30, 2017 at 11:53 PM, Davide Andreoli
 wrote:
> 2017-08-30 22:08 GMT+02:00 Mike Blumenkrantz :
>
>> WWW-www.enlightenment.org pushed a commit to branch master.
>>
>> http://git.enlightenment.org/website/www-content.git/commit/?id=
>> 1f3a717a3cedff7de88b0a6476323775fb066133
>>
>> commit 1f3a717a3cedff7de88b0a6476323775fb066133
>> Author: Mike Blumenkrantz 
>> Date:   Wed Aug 30 13:08:16 2017 -0700
>>
>> Wiki page download changed with summary [] by Mike Blumenkrantz
>> ---
>>  pages/download.txt | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/pages/download.txt b/pages/download.txt
>> index c267e814..e978bd93 100644
>> --- a/pages/download.txt
>> +++ b/pages/download.txt
>> @@ -33,7 +33,7 @@ When compiling from source, build in this order:
>>  For every tarball you download untar it with ''tar zxf file.tar.gz'' and
>> then go into the directory created. Please see the README file in this
>> directory for each project for information on dependencies, configuration
>> etc. Just remember that all our release tarballs come with configure set up
>> so to compile you just need to do this in the source directory:
>>
>>  
>> -./configure
>> +./autogen.sh
>>  make
>>  sudo make install
>>  sudo ldconfig # needed on Linux to update linker library database
>>
>
> Are you sure about this?
> usually released package ship with the configure script already generated
> and the user is not expected to run autogen (that need much more
> dependencies and tools to run)

that is indeed the purpose of the dist rule.

what is the problem when running just configure ?

Vincent

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 06/09: eina: Add convenience eina_rectangle_equal

2017-08-30 Thread Gustavo Sverzut Barbieri
if naming clashes you can use variations as I did in eina_value, there I have:
  - eina_value_flush() x eina_value_free()
  - eina_value_char_init() x eina_value_char_new()

etc.

On Wed, Aug 30, 2017 at 10:06 PM, Jean-Philippe André  wrote:
> 2017-08-30 22:38 GMT+09:00 Gustavo Sverzut Barbieri :
>
>> On Wed, Aug 30, 2017 at 5:29 AM, Jean-Philippe ANDRÉ 
>> wrote:
>> > jpeg pushed a commit to branch master.
>> >
>> > http://git.enlightenment.org/core/efl.git/commit/?id=
>> 4a6b52465df25a671f6298650182900e2f1407da
>> >
>> > commit 4a6b52465df25a671f6298650182900e2f1407da
>> > Author: Jean-Philippe Andre 
>> > Date:   Wed Aug 30 13:55:47 2017 +0900
>> >
>> > eina: Add convenience eina_rectangle_equal
>> >
>> > @feature
>> > ---
>> >  src/lib/eina/eina_inline_rectangle.x |  7 +++
>> >  src/lib/eina/eina_rectangle.h| 14 ++
>> >  2 files changed, 21 insertions(+)
>> >
>> > diff --git a/src/lib/eina/eina_inline_rectangle.x
>> b/src/lib/eina/eina_inline_rectangle.x
>> > index af257495eb..a6a07a43ed 100644
>> > --- a/src/lib/eina/eina_inline_rectangle.x
>> > +++ b/src/lib/eina/eina_inline_rectangle.x
>> > @@ -48,6 +48,13 @@ eina_rectangle_coords_from(Eina_Rectangle *r, int x,
>> int y, int w, int h)
>> >  }
>> >
>> >  static inline Eina_Bool
>> > +eina_rectangle_equal(const Eina_Rectangle *rect1, const Eina_Rectangle
>> *rect2)
>> > +{
>> > +   return ((rect1->x == rect2->x) && (rect1->y == rect2->y) &&
>> > +   (rect1->w == rect2->w) && (rect1->h == rect2->h));
>> > +}
>>
>> do these on stack values, not pointers... because you can avoid any
>> change of segfault in this code.
>>
>> Users can easily do "*r" if they have a pointer, however they will
>> likely not, just a value.
>>
>> Same for modifying operations, get on stack, return on stack, so this
>> is possible:
>>
>> r = eina_rectangle_move(r, 10, 10);
>> 
>
>
> So... eina_rectangle is a very unsafe API right now. I kept the same
> approach for consistency. Honestly I also dislike the "un-safety" of that
> API.
>
> I know that the lack of checks is for some obscure hotpath optimization in
> some remote corner of Evas, but to me it sounds like the rare places that
> need the unsafe & optimal code should do so by using some kind of #define
> before including Eina.h. What do you think? Cedric?
>
> --
> Jean-Philippe André
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/enlightenment] master 01/01: Luncher: Don't set preview state to menu. Set to alpha. Requires EFL update.

2017-08-30 Thread Stephen 'Okra' Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=0880d1795d806a3a286f57d3d4601b17da6db3a0

commit 0880d1795d806a3a286f57d3d4601b17da6db3a0
Author: Stephen 'Okra' Houston 
Date:   Wed Aug 30 20:15:47 2017 -0500

Luncher: Don't set preview state to menu. Set to alpha. Requires EFL update.

This fixes T5948
---
 src/modules/luncher/bar.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/modules/luncher/bar.c b/src/modules/luncher/bar.c
index c52b18b9c..cf1fbcd44 100644
--- a/src/modules/luncher/bar.c
+++ b/src/modules/luncher/bar.c
@@ -836,7 +836,7 @@ _bar_icon_preview_client_add(Icon *ic, E_Client *ec)
edje_extern_object_aspect_set(img, EDJE_ASPECT_CONTROL_BOTH, ec->client.w, 
ec->client.h);
elm_layout_content_set(layout, "e.swallow.icon", img);
if (evas_object_image_alpha_get(img))
- elm_layout_signal_emit(layout, "e,state,icon,menu", "e");
+ elm_layout_signal_emit(layout, "e,state,icon,alpha", "e");
evas_object_show(img);
 
if (!(ec->desk->visible) || (ec->iconic))
@@ -927,7 +927,6 @@ _bar_icon_preview_show(void *data)
  if (!e_client_util_is_popup(ec))
{
   _bar_icon_preview_client_add(ic, ec);
-
   count++;
}
   }

-- 




[EGIT] [core/efl] master 01/01: Luncher Theme: Set no border for alpha. This needs to be backported.

2017-08-30 Thread Stephen 'Okra' Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b0fc5dde62f6392ccf2a46c5be6265e72260b137

commit b0fc5dde62f6392ccf2a46c5be6265e72260b137
Author: Stephen 'Okra' Houston 
Date:   Wed Aug 30 20:14:20 2017 -0500

Luncher Theme: Set no border for alpha. This needs to be backported.
---
 data/elementary/themes/edc/luncher.edc | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/data/elementary/themes/edc/luncher.edc 
b/data/elementary/themes/edc/luncher.edc
index 61af2578fb..35ac82a803 100644
--- a/data/elementary/themes/edc/luncher.edc
+++ b/data/elementary/themes/edc/luncher.edc
@@ -559,12 +559,10 @@ group { name: "e/gadget/luncher/preview";
  target: "e.swallow.title";
  target: "icon";
   }
-  program { name: "go_preview";
- signal: "e,state,icon,preview"; source: "e";
- action: STATE_SET "default" 0.0;
+  program { name: "go_alpha";
+ signal: "e,state,icon,alpha"; source: "e";
+ action: STATE_SET "menu" 0.0;
  target: "border";
- target: "e.swallow.title";
- target: "icon"; 
   }
}
 }

-- 




Re: [E-devel] [EGIT] [core/efl] master 06/09: eina: Add convenience eina_rectangle_equal

2017-08-30 Thread Jean-Philippe André
2017-08-30 22:38 GMT+09:00 Gustavo Sverzut Barbieri :

> On Wed, Aug 30, 2017 at 5:29 AM, Jean-Philippe ANDRÉ 
> wrote:
> > jpeg pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=
> 4a6b52465df25a671f6298650182900e2f1407da
> >
> > commit 4a6b52465df25a671f6298650182900e2f1407da
> > Author: Jean-Philippe Andre 
> > Date:   Wed Aug 30 13:55:47 2017 +0900
> >
> > eina: Add convenience eina_rectangle_equal
> >
> > @feature
> > ---
> >  src/lib/eina/eina_inline_rectangle.x |  7 +++
> >  src/lib/eina/eina_rectangle.h| 14 ++
> >  2 files changed, 21 insertions(+)
> >
> > diff --git a/src/lib/eina/eina_inline_rectangle.x
> b/src/lib/eina/eina_inline_rectangle.x
> > index af257495eb..a6a07a43ed 100644
> > --- a/src/lib/eina/eina_inline_rectangle.x
> > +++ b/src/lib/eina/eina_inline_rectangle.x
> > @@ -48,6 +48,13 @@ eina_rectangle_coords_from(Eina_Rectangle *r, int x,
> int y, int w, int h)
> >  }
> >
> >  static inline Eina_Bool
> > +eina_rectangle_equal(const Eina_Rectangle *rect1, const Eina_Rectangle
> *rect2)
> > +{
> > +   return ((rect1->x == rect2->x) && (rect1->y == rect2->y) &&
> > +   (rect1->w == rect2->w) && (rect1->h == rect2->h));
> > +}
>
> do these on stack values, not pointers... because you can avoid any
> change of segfault in this code.
>
> Users can easily do "*r" if they have a pointer, however they will
> likely not, just a value.
>
> Same for modifying operations, get on stack, return on stack, so this
> is possible:
>
> r = eina_rectangle_move(r, 10, 10);
> 


So... eina_rectangle is a very unsafe API right now. I kept the same
approach for consistency. Honestly I also dislike the "un-safety" of that
API.

I know that the lack of checks is for some obscure hotpath optimization in
some remote corner of Evas, but to me it sounds like the rare places that
need the unsafe & optimal code should do so by using some kind of #define
before including Eina.h. What do you think? Cedric?

-- 
Jean-Philippe André
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community management

2017-08-30 Thread Simon Lees


On 31/08/17 09:34, William L. Thomson Jr. wrote:
> On Thu, 31 Aug 2017 09:03:01 +0930
> Simon Lees  wrote:
>>
>> In many IRC channels I am in for open source projects giving someone a
>> kickban for ignoring a channel moderator when they ask you to stop off
>> topic discussion is common and perfectly acceptable, If I was a
>> channel moderator and asked you to stop a certain behavior and you
>> didn't I'd also ban you for a period.
> 
> It was not a request... 
>  <@KainX> ajslye: You don't know what you're talking about, and this
>  conversation is WAY off-topic.
> @KainX> wltjr: You too.  That's enough.  Take it to /msg.
> 
> First off a channel moderator should not partake is a off topic
> discussion saying someone does not know what they are talking about.
> 

Sure they can, they might then decide that arguing the point either way
is just going to massively derail the channel and so its better just to
stop. I have done so in the past in other channels but i'd generally
suggest a general discussion channel where we could continue the discussion.

> Secondly in what world is take it to /msg a request? That is an
> order, demand etc.
> 

Yes exactly and you ignored the order of a channel moderator, you can
consider it a request because you don't have to move to /msg you could
just stop discussing it all together but either way thats not uncommon
language in this situation (atleast not in the channels I frequent)

> I was raised long ago to use the world PLEASE
> "Like guys can you please take the off topic convo else where..."
> 
> Not being completely rude
> 
>> I am sure equally after a period of time if the channel moderators
>> feel that you will listen to them and respect them they will remove
>> that ban.
> 
> I will not return. Something moderators should consider before kicking
> or banning anyone. Surely without warning etc.
> 
>> Yes Kainx's language wasn't the best but you were personally attacking
>> him as much as he was you (you just used different words) so don't
>> play innocent.
> 
> Point out where exactly I insulted anyone. I did not personally attack
> anyone. Provide the line where I did. I could have responded with
> insults but I did not.
> 

I never said you insulted anyone but the last 2 lines you said in the
channel could certainly be interpreted as an attack.

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community management

2017-08-30 Thread William L. Thomson Jr.
On Thu, 31 Aug 2017 09:03:01 +0930
Simon Lees  wrote:
> 
> In many IRC channels I am in for open source projects giving someone a
> kickban for ignoring a channel moderator when they ask you to stop off
> topic discussion is common and perfectly acceptable, If I was a
> channel moderator and asked you to stop a certain behavior and you
> didn't I'd also ban you for a period.

It was not a request... 
 <@KainX> ajslye: You don't know what you're talking about, and this
 conversation is WAY off-topic.
@KainX> wltjr: You too.  That's enough.  Take it to /msg.

First off a channel moderator should not partake is a off topic
discussion saying someone does not know what they are talking about.

Secondly in what world is take it to /msg a request? That is an
order, demand etc.

I was raised long ago to use the world PLEASE
"Like guys can you please take the off topic convo else where..."

Not being completely rude

> I am sure equally after a period of time if the channel moderators
> feel that you will listen to them and respect them they will remove
> that ban.

I will not return. Something moderators should consider before kicking
or banning anyone. Surely without warning etc.

> Yes Kainx's language wasn't the best but you were personally attacking
> him as much as he was you (you just used different words) so don't
> play innocent.

Point out where exactly I insulted anyone. I did not personally attack
anyone. Provide the line where I did. I could have responded with
insults but I did not.

I find that ridiculous to be accused in any way shape or form of
attacking KainX. They approached me rudely. I never interacted with
them before.

> All in all I think KainX's actions were for the most part reasonable
> and maybe once everything cools down a bit someone will remove your
> ban (as long as you listen to and respect the moderators)

Who cares I will not return. That was unacceptable. Your rationale is
absurd. Clearly such is acceptable and others were justified in their
approach comments actions etc.

No thank you!

-- 
William L. Thomson Jr.


pgpWUx9Tfbi4b.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community management

2017-08-30 Thread Simon Lees


On 31/08/17 07:09, William L. Thomson Jr. wrote:
> On Wed, 30 Aug 2017 20:01:22 +
> Mike Blumenkrantz  wrote:
> 
>> Full log context:
>>
>> https://pastebin.com/YugkXB4E
> 
> Not sure what that changes or matters. For further context as
> stated, KainX has spoken in  #e IRC channel in only 2 days out of the
> past ~ 5 months. Sure kick 2 others who are in there helping each other
> and other E users daily for months now. Even if off topic, amount of
> activity and helping others in the user channel should count.
> 

In many IRC channels I am in for open source projects giving someone a
kickban for ignoring a channel moderator when they ask you to stop off
topic discussion is common and perfectly acceptable, If I was a channel
moderator and asked you to stop a certain behavior and you didn't I'd
also ban you for a period.

While yes our irc channels tend to allow more offtopicness then many we
tend to steer away from the controversial parts of politics and
religion, open source projects generally take in people from a range of
view points and often its best to avoid arguments that aren't going to
get anywhere. But most importantly the channel operators / moderators
have been appointed to have the final say on what is and isn't too far
off topic, in this case even from the log you posted I don't think it
was unreasonable for you to be asked to take that off topic chat
elsewhere, you chose to ignore a moderator so you faced the consequences
of that choice and were banned.

I am sure equally after a period of time if the channel moderators feel
that you will listen to them and respect them they will remove that ban.

Yes Kainx's language wasn't the best but you were personally attacking
him as much as he was you (you just used different words) so don't play
innocent.

All in all I think KainX's actions were for the most part reasonable and
maybe once everything cools down a bit someone will remove your ban (as
long as you listen to and respect the moderators)

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE Linux   Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/edi] master 01/01: scm stash: on stash don't refresh all panels, let user decide on focus.

2017-08-30 Thread Al Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=9ea0ba05c39ff0561410d1d82c126f15ad163d66

commit 9ea0ba05c39ff0561410d1d82c126f15ad163d66
Author: Al Poole 
Date:   Wed Aug 30 23:55:34 2017 +0100

scm stash: on stash don't refresh all panels, let user decide on focus.

Removed the call to mainview_refresh_all which means after stashing
of changes the user can decide to reload the file contents when
focussing the editor.
---
 src/bin/edi_main.c| 1 -
 src/bin/mainview/edi_mainview_panel.c | 9 ++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index c83d08c..0223387 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -1025,7 +1025,6 @@ static void
 _edi_scm_stash_do_cb(void *data EINA_UNUSED)
 {
edi_scm_stash();
-   edi_mainview_refresh_all();
 }
 
 static void
diff --git a/src/bin/mainview/edi_mainview_panel.c 
b/src/bin/mainview/edi_mainview_panel.c
index f0e76f5..ae7c089 100644
--- a/src/bin/mainview/edi_mainview_panel.c
+++ b/src/bin/mainview/edi_mainview_panel.c
@@ -271,9 +271,12 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
 
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)data);
 
-   editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
-   if (editor)
- elm_object_focus_set(editor->entry, EINA_FALSE);
+   if (panel && panel->current)
+ {
+editor = (Edi_Editor *)evas_object_data_get(panel->current->view, 
"editor");
+if (editor)
+  elm_object_focus_set(editor->entry, EINA_FALSE);
+ }
 
edi_mainview_panel_item_select(panel, (Edi_Mainview_Item *)data);
 }

-- 




Re: [E-devel] Community management

2017-08-30 Thread William L. Thomson Jr.
On Wed, 30 Aug 2017 20:01:22 +
Mike Blumenkrantz  wrote:

> Full log context:
> 
> https://pastebin.com/YugkXB4E

Not sure what that changes or matters. For further context as
stated, KainX has spoken in  #e IRC channel in only 2 days out of the
past ~ 5 months. Sure kick 2 others who are in there helping each other
and other E users daily for months now. Even if off topic, amount of
activity and helping others in the user channel should count.

grep -m 1 KainX irclogs/freenode/#e/*
irclogs/freenode/#e/2017-08-01.log
irclogs/freenode/#e/2017-08-30.log

Less a few hours here and there and a couple days last week I left
after the kick from #edevelop, I have every day since 3/31/2017 logged.
If this was from someone I knew, actually spoke with before, I saw
helping users, etc in the channel. That would be one thing.

But to show up acting like its noise for others. For something that
personally bothered them. Where are they when others need  help and one
of the two kicked helped the users? Who will be there next time?

I can provide logs of some asking stuff in #e with no response. I
have seen that quite often. So sure it makes sense to kick people for
off topic stuff. All makes sense now.

Regardless I guess the language, personal attacks, and insults were
justified Context or not, that is unacceptable, unprofessional, and
should not be tolerated or justified via any means.

-- 
William L. Thomson Jr.


pgpFh0lQeAR7S.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/edi] master 01/01: mainview_panel: do safe checks before accessing panel->current->view

2017-08-30 Thread Al Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=1ed7c297cbb56f1fbe03242af98c12ec3909f5cb

commit 1ed7c297cbb56f1fbe03242af98c12ec3909f5cb
Author: Al Poole 
Date:   Wed Aug 30 22:18:29 2017 +0100

mainview_panel: do safe checks before accessing panel->current->view

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5149
---
 src/bin/mainview/edi_mainview_panel.c | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/src/bin/mainview/edi_mainview_panel.c 
b/src/bin/mainview/edi_mainview_panel.c
index 16b1d71..f0e76f5 100644
--- a/src/bin/mainview/edi_mainview_panel.c
+++ b/src/bin/mainview/edi_mainview_panel.c
@@ -452,6 +452,9 @@ edi_mainview_panel_save(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
if (!editor)
  return;
@@ -464,6 +467,9 @@ edi_mainview_panel_undo(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -491,6 +497,9 @@ edi_mainview_panel_redo(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -533,6 +542,9 @@ edi_mainview_panel_cut(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -544,6 +556,9 @@ edi_mainview_panel_copy(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -555,6 +570,9 @@ edi_mainview_panel_paste(Edi_Mainview_Panel *panel)
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -568,6 +586,9 @@ edi_mainview_panel_search(Edi_Mainview_Panel *panel)
 
if (edi_mainview_is_empty()) return;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
 
if (editor)
@@ -579,6 +600,9 @@ edi_mainview_panel_goto(Edi_Mainview_Panel *panel, unsigned 
int number)
 {
if (edi_mainview_is_empty()) return;
 
+   if (!panel || !panel->current)
+ return;
+
edi_mainview_panel_goto_position(panel, number, 1);
 }
 
@@ -587,6 +611,9 @@ edi_mainview_panel_goto_position(Edi_Mainview_Panel *panel, 
unsigned int row, un
 {
Edi_Editor *editor;
 
+   if (!panel || !panel->current)
+ return;
+
editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
if (!editor || row <= 0 || col <= 0)
  return;

-- 




[EGIT] [tools/edi] master 01/01: editor: unset focus on tab change.

2017-08-30 Thread Al Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=8925c72adfdad08cc43a4d40fa8274eb2e68c63e

commit 8925c72adfdad08cc43a4d40fa8274eb2e68c63e
Author: Al Poole 
Date:   Wed Aug 30 22:11:09 2017 +0100

editor: unset focus on tab change.

Summary: This seems to fix the multiple cursors between underlying tabs.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5148
---
 src/bin/mainview/edi_mainview_panel.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/mainview/edi_mainview_panel.c 
b/src/bin/mainview/edi_mainview_panel.c
index fe18f18..16b1d71 100644
--- a/src/bin/mainview/edi_mainview_panel.c
+++ b/src/bin/mainview/edi_mainview_panel.c
@@ -267,8 +267,14 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
  const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
 {
Edi_Mainview_Panel *panel;
+   Edi_Editor *editor;
 
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)data);
+
+   editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor");
+   if (editor)
+ elm_object_focus_set(editor->entry, EINA_FALSE);
+
edi_mainview_panel_item_select(panel, (Edi_Mainview_Item *)data);
 }
 

-- 




Re: [E-devel] [EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread Davide Andreoli
2017-08-30 22:08 GMT+02:00 Mike Blumenkrantz :

> WWW-www.enlightenment.org pushed a commit to branch master.
>
> http://git.enlightenment.org/website/www-content.git/commit/?id=
> 1f3a717a3cedff7de88b0a6476323775fb066133
>
> commit 1f3a717a3cedff7de88b0a6476323775fb066133
> Author: Mike Blumenkrantz 
> Date:   Wed Aug 30 13:08:16 2017 -0700
>
> Wiki page download changed with summary [] by Mike Blumenkrantz
> ---
>  pages/download.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/pages/download.txt b/pages/download.txt
> index c267e814..e978bd93 100644
> --- a/pages/download.txt
> +++ b/pages/download.txt
> @@ -33,7 +33,7 @@ When compiling from source, build in this order:
>  For every tarball you download untar it with ''tar zxf file.tar.gz'' and
> then go into the directory created. Please see the README file in this
> directory for each project for information on dependencies, configuration
> etc. Just remember that all our release tarballs come with configure set up
> so to compile you just need to do this in the source directory:
>
>  
> -./configure
> +./autogen.sh
>  make
>  sudo make install
>  sudo ldconfig # needed on Linux to update linker library database
>

Are you sure about this?
usually released package ship with the configure script already generated
and the user is not expected to run autogen (that need much more
dependencies and tools to run)




>
> --
>
>
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/02: efl_ui_focus_manager_calc: only focus none NULL candidates

2017-08-30 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0b3a14a3873625e0e1443d19caccf47fc3901174

commit 0b3a14a3873625e0e1443d19caccf47fc3901174
Author: Marcel Hollerbach 
Date:   Wed Aug 30 22:38:51 2017 +0200

efl_ui_focus_manager_calc: only focus none NULL candidates
---
 src/lib/elementary/efl_ui_focus_manager_calc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index dbd64c5d36..232cc69e06 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -1309,7 +1309,8 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo 
*obj EINA_UNUSED, Efl_Ui
{
   n = T(n).parent;
   new_candidate = _request_move(obj, pd, direction, n);
-  efl_ui_focus_manager_focus_set(obj, new_candidate);
+  if (new_candidate)
+efl_ui_focus_manager_focus_set(obj, new_candidate);
   candidate = new_candidate;
}
}

-- 




[EGIT] [core/efl] master 01/02: efl_ui_focus_manager: make logical_end work better

2017-08-30 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ea5b0bdfdeab75db460d4d9ccdb49b8874bcce7e

commit ea5b0bdfdeab75db460d4d9ccdb49b8874bcce7e
Author: Marcel Hollerbach 
Date:   Wed Aug 30 22:33:04 2017 +0200

efl_ui_focus_manager: make logical_end work better

it turns out that we should also repsect logical elements that are
having a redirect_manager, since they are more at the "end" then a
potential regular node.

The user now needs to handle the logical_end call on this manager, or
handle at all what he wants to do with this information.

efl_ui_win now handles it in the way that it just focuses that logical
node, (which results in the redirect manager beeing set, then calling
again logical_end on that manager. Repeating this until we have finally
found a regular node that does fit out needs.
---
 src/lib/elementary/efl_ui_focus_manager.eo   |  7 ++-
 src/lib/elementary/efl_ui_focus_manager_calc.c   | 14 --
 src/lib/elementary/efl_ui_focus_manager_root_focus.c |  9 +++--
 src/lib/elementary/efl_ui_win.c  | 11 ---
 4 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager.eo 
b/src/lib/elementary/efl_ui_focus_manager.eo
index 546f9c38e1..cbfcfed47b 100644
--- a/src/lib/elementary/efl_ui_focus_manager.eo
+++ b/src/lib/elementary/efl_ui_focus_manager.eo
@@ -29,6 +29,11 @@ struct Efl.Ui.Focus.Relations {
 redirect : Efl.Ui.Focus.Manager; [[Redirect manager]]
 }
 
+struct Efl.Ui.Focus.Manager.Logical_End_Detail {
+is_regular_end : bool;
+element : Efl.Ui.Focus.Object;
+}
+
 interface Efl.Ui.Focus.Manager {
 [[Calculates the directions of Efl.Ui.Focus.Direction
 
@@ -123,7 +128,7 @@ interface Efl.Ui.Focus.Manager {
 
   The returned object is the last object that would be returned if 
you start at the root and move the direction into next.
 ]]
-return : Efl.Ui.Focus.Object; [[Last object]]
+return : Efl.Ui.Focus.Manager.Logical_End_Detail; [[Last object]]
 }
 reset_history {
 [[Reset the history stack of this manager object.
diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index e0b33cd7b6..dbd64c5d36 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -1460,21 +1460,23 @@ _efl_ui_focus_manager_calc_class_destructor(Efl_Class 
*c EINA_UNUSED)
_focus_log_domain = -1;
 }
 
-EOLIAN static Efl_Ui_Focus_Object*
+EOLIAN static Efl_Ui_Focus_Manager_Logical_End_Detail
 _efl_ui_focus_manager_calc_efl_ui_focus_manager_logical_end(Eo *obj 
EINA_UNUSED, Efl_Ui_Focus_Manager_Calc_Data *pd)
 {
Node *child = pd->root;
-
-   EINA_SAFETY_ON_NULL_RETURN_VAL(child, NULL);
+   Efl_Ui_Focus_Manager_Logical_End_Detail ret = { 0, NULL};
+   EINA_SAFETY_ON_NULL_RETURN_VAL(child, ret);
 
//we need to return the most lower right element
 
-   while(T(child).children)
+   while(T(child).children && !child->redirect_manager)
  child = eina_list_last_data_get(T(child).children);
-   while (child->type != NODE_TYPE_NORMAL)
+   while (child->type != NODE_TYPE_NORMAL && !child->redirect_manager)
  child = _prev(child);
 
-  return child ? child->focusable : NULL;
+   ret.is_regular_end = child->type == NODE_TYPE_NORMAL;
+   ret.element = child ? child->focusable : NULL;
+   return ret;
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_focus_manager_root_focus.c 
b/src/lib/elementary/efl_ui_focus_manager_root_focus.c
index cdb78fb17f..4736f4ac08 100644
--- a/src/lib/elementary/efl_ui_focus_manager_root_focus.c
+++ b/src/lib/elementary/efl_ui_focus_manager_root_focus.c
@@ -85,10 +85,15 @@ 
_efl_ui_focus_manager_root_focus_efl_ui_focus_manager_fetch(Eo *obj, Efl_Ui_Focu
 }
 
 
-EOLIAN static Efl_Ui_Focus_Object *
+EOLIAN static Efl_Ui_Focus_Manager_Logical_End_Detail
 _efl_ui_focus_manager_root_focus_efl_ui_focus_manager_logical_end(Eo *obj, 
Efl_Ui_Focus_Manager_Root_Focus_Data *pd)
 {
-   return _trap(pd, efl_ui_focus_manager_logical_end(efl_super(obj, 
MY_CLASS)));
+   Efl_Ui_Focus_Manager_Logical_End_Detail res;
+
+   res = efl_ui_focus_manager_logical_end(efl_super(obj, MY_CLASS));
+
+   res.element = _trap(pd, res.element);
+   return res;
 }
 
 EOLIAN static Eina_Iterator *
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index b5a64ddd21..1b2bb361aa 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1755,10 +1755,15 @@ _key_action_move(Evas_Object *obj, const char *params)
 
if (!o && focus_dir == EFL_UI_FOCUS_DIRECTION_PREV)
  {
-Efl_Ui_Focus_Object *last;
+Efl_Ui_Focus_Manager_Logical_End_Detail last;
+Efl_Ui_Focus_Manager *rec_manager = obj;
 
-last = 

[EGIT] [core/efl] master 02/02: ecore_wl2: Kill the wl idle enterer

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=57d5b5921e8a4a05f4a1b468f1cfed74d28b95f9

commit 57d5b5921e8a4a05f4a1b468f1cfed74d28b95f9
Author: Derek Foreman 
Date:   Wed Aug 30 14:53:46 2017 -0500

ecore_wl2: Kill the wl idle enterer

We do flushes when we need them now, so we don't need this somewhat
non deterministic flush mechanism anymore.

Anything that breaks as a result of this should be fixable by adding an
ecore_wl2_display_flush() somewhere appropriate.
---
 src/lib/ecore_wl2/ecore_wl2_display.c | 41 ---
 src/lib/ecore_wl2/ecore_wl2_private.h |  1 -
 2 files changed, 42 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index b11b3af6c6..4d081cc5c3 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -10,7 +10,6 @@
 static Eina_Hash *_server_displays = NULL;
 static Eina_Hash *_client_displays = NULL;
 
-static Eina_Bool _cb_connect_idle(void *data);
 static Eina_Bool _cb_connect_data(void *data, Ecore_Fd_Handler *hdl);
 static Eina_Bool _ecore_wl2_display_connect(Ecore_Wl2_Display *ewd, Eina_Bool 
sync);
 
@@ -450,8 +449,6 @@ _recovery_timer_add(Ecore_Wl2_Display *ewd)
Ecore_Wl2_Window *window;
 
eina_hash_free_buckets(ewd->globals);
-   ecore_idle_enterer_del(ewd->idle_enterer);
-   ewd->idle_enterer = NULL;
 
ecore_main_fd_handler_del(ewd->fd_hdl);
ewd->fd_hdl = NULL;
@@ -541,40 +538,6 @@ _cb_globals_hash_del(void *data)
free(global);
 }
 
-static Eina_Bool
-_cb_connect_idle(void *data)
-{
-   Ecore_Wl2_Display *ewd = data;
-   int ret = 0, code;
-
-   ret = wl_display_get_error(ewd->wl.display);
-   code = errno;
-   if (ret < 0) goto err;
-
-   ret = wl_display_dispatch_pending(ewd->wl.display);
-   code = errno;
-   if (ret < 0) goto err;
-
-   ret = wl_display_flush(ewd->wl.display);
-   code = errno;
-   if ((ret < 0) && (code == EAGAIN))
- ecore_main_fd_handler_active_set(ewd->fd_hdl,
-  (ECORE_FD_READ | ECORE_FD_WRITE));
-
-   return ECORE_CALLBACK_RENEW;
-
-err:
-   if ((ret < 0) && (code != EAGAIN))
- {
-ewd->idle_enterer = NULL;
-_begin_recovery_maybe(ewd, code);
-
-return ECORE_CALLBACK_CANCEL;
- }
-
-   return ECORE_CALLBACK_RENEW;
-}
-
 static Ecore_Wl2_Global *
 _ecore_wl2_global_find(Ecore_Wl2_Display *ewd, const char *interface)
 {
@@ -697,8 +660,6 @@ _ecore_wl2_display_connect(Ecore_Wl2_Display *ewd, 
Eina_Bool sync)
ECORE_FD_READ | ECORE_FD_WRITE | ECORE_FD_ERROR,
_cb_connect_data, ewd, NULL, NULL);
 
-   ewd->idle_enterer = ecore_idle_enterer_add(_cb_connect_idle, ewd);
-
_ecore_wl2_display_event(ewd, ECORE_WL2_EVENT_CONNECT);
ecore_wl2_display_flush(ewd);
return EINA_TRUE;
@@ -721,8 +682,6 @@ _ecore_wl2_display_cleanup(Ecore_Wl2_Display *ewd)
EINA_INLIST_FOREACH_SAFE(ewd->outputs, tmp, output)
  _ecore_wl2_output_del(output);
 
-   if (ewd->idle_enterer) ecore_idle_enterer_del(ewd->idle_enterer);
-
if (ewd->fd_hdl) ecore_main_fd_handler_del(ewd->fd_hdl);
 
eina_hash_free(ewd->globals);
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index c71ae676c4..95afcd5f48 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -100,7 +100,6 @@ struct _Ecore_Wl2_Display
 
struct xkb_context *xkb_context;
 
-   Ecore_Idle_Enterer *idle_enterer;
Ecore_Fd_Handler *fd_hdl;
 
Eina_Hash *globals;

-- 




[EGIT] [core/efl] master 01/02: ecore_wl2: Use ecore_wl2_window_commit for all wl_surface_commits

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1bb45f6e6194fa046d3d1409e1aacecc14dc4b4f

commit 1bb45f6e6194fa046d3d1409e1aacecc14dc4b4f
Author: Derek Foreman 
Date:   Wed Aug 30 14:52:29 2017 -0500

ecore_wl2: Use ecore_wl2_window_commit for all wl_surface_commits

This adds an explicit flush to every surface commit.
---
 src/lib/ecore_wl2/ecore_wl2_display.c | 1 +
 src/lib/ecore_wl2/ecore_wl2_window.c  | 7 ---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index d96405c5a8..b11b3af6c6 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -700,6 +700,7 @@ _ecore_wl2_display_connect(Ecore_Wl2_Display *ewd, 
Eina_Bool sync)
ewd->idle_enterer = ecore_idle_enterer_add(_cb_connect_idle, ewd);
 
_ecore_wl2_display_event(ewd, ECORE_WL2_EVENT_CONNECT);
+   ecore_wl2_display_flush(ewd);
return EINA_TRUE;
 }
 
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 81d8568f09..30c29d759d 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -24,6 +24,7 @@ _ecore_wl2_window_semi_free(Ecore_Wl2_Window *window)
if (window->surface) wl_surface_destroy(window->surface);
window->surface = NULL;
window->surface_id = -1;
+   ecore_wl2_display_flush(window->display);
 }
 
 
@@ -234,7 +235,7 @@ _ecore_wl2_window_zxdg_popup_create(Ecore_Wl2_Window *win)
 
win->pending.configure = EINA_TRUE;
 
-   wl_surface_commit(win->surface);
+   ecore_wl2_window_commit(win, EINA_TRUE);
 }
 
 static void
@@ -352,7 +353,7 @@ _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window 
*window)
  window->aspect.w, window->aspect.h, window->aspect.aspect);
   }
 
-wl_surface_commit(window->surface);
+ecore_wl2_window_commit(window, EINA_TRUE);
  }
 
if (window->display->wl.session_recovery)
@@ -541,7 +542,7 @@ ecore_wl2_window_hide(Ecore_Wl2_Window *window)
if (window->surface)
  {
 wl_surface_attach(window->surface, NULL, 0, 0);
-wl_surface_commit(window->surface);
+ecore_wl2_window_commit(window, EINA_TRUE);
 window->commit_pending = EINA_FALSE;
  }
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page download changed with summary [] by Mike Blumenkrantz

2017-08-30 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=1f3a717a3cedff7de88b0a6476323775fb066133

commit 1f3a717a3cedff7de88b0a6476323775fb066133
Author: Mike Blumenkrantz 
Date:   Wed Aug 30 13:08:16 2017 -0700

Wiki page download changed with summary [] by Mike Blumenkrantz
---
 pages/download.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/download.txt b/pages/download.txt
index c267e814..e978bd93 100644
--- a/pages/download.txt
+++ b/pages/download.txt
@@ -33,7 +33,7 @@ When compiling from source, build in this order:
 For every tarball you download untar it with ''tar zxf file.tar.gz'' and then 
go into the directory created. Please see the README file in this directory for 
each project for information on dependencies, configuration etc. Just remember 
that all our release tarballs come with configure set up so to compile you just 
need to do this in the source directory:
 
 
-./configure
+./autogen.sh
 make
 sudo make install
 sudo ldconfig # needed on Linux to update linker library database

-- 




Re: [E-devel] [Enlightenment-release] packaging test

2017-08-30 Thread Mike Blumenkrantz
Updated, though this is outside the scope of a distro packaging test...

On Tue, Aug 29, 2017 at 7:09 PM Simon Lees  wrote:

>
>
> On 29/08/17 22:46, Mike Blumenkrantz wrote:
> > Which process are you referring to?
> >
>
> See the "Compilation" section at https://www.enlightenment.org/download
> which is basically the same as every other autotools project.
>
> > On Tue, Aug 29, 2017 at 2:55 AM Simon Lees  wrote:
> >
> >>
> >>
> >> On 29/08/17 00:09, Mike Blumenkrantz wrote:
> >>> I want to get an idea about how package-able enlightenment currently
> is,
> >>> so it would be great if packagers could report any issues with this
> >> tarball.
> >>>
> >>>
> >>
> https://download.enlightenment.org/pre-releases/enlightenment-0.21.99.tar.xz
> >>> ce0ca639233c89c1bc943ec5ee9c19e5005baeb9b8fa709fd20afa006830835f
> >>> enlightenment-0.21.99.tar.xz
> >>>
> >>
> >> Using the previously documented process it failed to build because
> >> ./configure is not present (I haven't looked into swapping to the new
> >> build system yet). As a workaround I added a call to ./autogen.sh before
> >> and it built fine.
> >>
> >> I also didn't test the wayland build as our version of wayland-protocols
> >> is still too old, the new version will be available soon though.
> >>
> >> Other then that the build seemed to work (Although I haven't actually
> >> run the version of enlightenment that was produced, getting a vm setup
> >> for that now).
> >>
> >> --
> >>
> >> Simon Lees (Simotek)http://simotek.net
> >>
> >> Emergency Update Team   keybase.io/simotek
> >> SUSE Linux   Adelaide Australia, UTC+10:30
> >> GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
> >>
> >>
> >>
> --
> >> Check out the vibrant tech community on one of the world's most
> >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> >> ___
> >> enlightenment-devel mailing list
> >> enlightenment-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >>
> >
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
> --
>
> Simon Lees (Simotek)http://simotek.net
>
> Emergency Update Team   keybase.io/simotek
> SUSE Linux   Adelaide Australia, UTC+10:30
> GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
>
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Community management

2017-08-30 Thread Mike Blumenkrantz
Full log context:

https://pastebin.com/YugkXB4E

On Wed, Aug 30, 2017 at 2:38 PM William L. Thomson Jr. 
wrote:

> I am sending this to e-devel as this pertains more to the core people
> responsible for the project. Not to mention my interest is in doing EFL
> application development. Which given my experiences thus far, I must be
> crazy to continue participation. I am here for my own reasons. If not I
> would be gone long ago. I have more motivation to go than stay
>
> A few days back I was kicked from #edevelop by raster for saying
> something he did not want to here. Though I was not banned. That was
> minor, and only the 2nd time in some 15+ years of IRC I have been
> kicked from any IRC channel.
>
> Today after another used fowl language, personally insulted me, they
> kicked and banned me. That is flat out unacceptable. Nice community!
> Kicked once in 15+ years, and now in less than 2 week in E channels
> kicked and banned. Nice way to grow the community... Silencing others...
>
> 13:41 <@KainX> ajslye: You don't know what you're talking about, and
> this conversation is WAY off-topic.
> 13:41 < wltjr> https://en.wikipedia.org/wiki/Free_Speech_Movement
> 13:41 < wltjr> not really free speech movement is very much tied to
> foss :)
> 13:41 <@KainX> wltjr: You too.  That's enough.  Take it to /msg.
> 13:41 < wltjr> ever hear of BSD? :)
> 13:42 <@KainX> I used to work for Berkeley, you dumb fuck.  I've worked
> with more BSD creators than you've ever even heard of.  So just STFU.
> 13:43 < wltjr> then you would know the history and predates rms gnu etc
> 13:43 <@KainX> The next person I hear blaming "anti-fascists" for the
> rise of fascism in America is going to have a serious boot up his ass.
> 13:43 < wltjr> KainX: nice language and attitude, clearly you were
> involved in post years given the attitude
> 13:44 < wltjr> KainX: do you know what fascism is? those claming others
> are exhibit more of that behavior, the irony
> 13:44 < ajslye> wltjr, 3 of the 4 people that were arested taking down
> that one statue belonged to the Workers World Party
> 13:44 -!- wltjr was kicked from #e by KainX [ Out!  Out!  Evil demons
> of stupidity!]
> --- Log closed Wed Aug 30 13:44:31 2017
>
> First off in IRC or email, anything public if you do not like what
> someone is saying. You do not have to listen/read. Furthermore you can
> easily set ingore on IRC, or filter out unwanted emails.
>
> To kick and ban someone unilaterally like a dictator because you do not
> like what they are saying literally is fascist behavior...
>
> Not to mention after using fowl language and personally insulting
> someone. Neither of which I did, and was far worse than anything I was
> saying or doing. Really interesting! At this point I will not be
> returning to IRC.
>
> Really nice wonderful friendly community. Accepting of all
>
> I have no tolerance for people claiming talk is off topic. When a
> channel will sit idle, dead for long periods of time. For something
> like #e, That channel should be very active always like most other
> channels are for other desktops etc. It shocks me how little activity
> #e has, and the project as a whole. But more I interact I am less
> shocked and can see factual reasons why people avoid it.
>
> Every since I first came to the E community. I have seen many things
> that justify the community being small. Flat out rude behavior that
> will drive people way, etc.
>
> I would have, and likely should have been gone long ago. If I am not
> right for the E community, then who is? I am opening bugs, helping
> users, doing EFL app development. What more would you want from new
> community members? I am not insulting anyone or using fowl language.
> At best I may say something others do not want to hear, dislike or is
> off topic. So for that its justified I be kicked, banned, insulted, etc?
>
> What I am saying others may not like, but that is no reason or excuse
> to kick/ban, etc. That is childish behavior and a power trip. Such
> actions only invite revenge. How do you ban someone from IRC? They can
> create accounts and join again. Its stupid, same for email etc.
>
> None of that will encourage others to join or do more. If anything will
> drive people away and keep thing small. Going back through my logs from
> when I first showed. Today was the 2nd time I ever heard from or
> interacted with KainX. First time being on 8./1/2017 with my logs going
> back to when I first joined in 3/31/17.
>
> I would never say such things to another in public. Much less someone I
> had little to no interaction with. Very unprofessional.
>
> --
> William L. Thomson Jr.
>
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> 

[EGIT] [core/efl] master 01/01: ecore-wl2: Formatting

2017-08-30 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=114f559e23f11819a973c0a1ca5dab918528150b

commit 114f559e23f11819a973c0a1ca5dab918528150b
Author: Chris Michael 
Date:   Wed Aug 30 10:22:33 2017 -0400

ecore-wl2: Formatting

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_private.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 9ee07b7463..c71ae676c4 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -4,10 +4,10 @@
 # include 
 # include "Ecore_Wl2.h"
 # include "Ecore_Input.h"
-#include 
+# include 
 # include "www-client-protocol.h"
 
-#define EFL_TEAMWORK_VERSION 2
+# define EFL_TEAMWORK_VERSION 2
 # include "teamwork-client-protocol.h"
 
 # include "session-recovery-client-protocol.h"

-- 




[EGIT] [core/efl] master 04/06: wayland: Store Ecore_Wl2_Display instead of wl_display in engines

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=388f8c41c88658ed8d2ae10bcec28a2b0d9a720e

commit 388f8c41c88658ed8d2ae10bcec28a2b0d9a720e
Author: Derek Foreman 
Date:   Wed Aug 30 12:22:49 2017 -0500

wayland: Store Ecore_Wl2_Display instead of wl_display in engines

We'll need to call ecore_wl2 functions on it soon, and anything that
really needs the wl_display can query it.
---
 .../ecore_evas/engines/wayland/ecore_evas_wayland_common.c|  6 +++---
 src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h |  2 +-
 src/modules/evas/engines/wayland_egl/evas_engine.c|  4 ++--
 src/modules/evas/engines/wayland_egl/evas_engine.h|  2 +-
 src/modules/evas/engines/wayland_egl/evas_wl_main.c   | 11 ++-
 src/modules/evas/engines/wayland_shm/evas_dmabuf.c|  2 +-
 6 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index fe45f8a0d4..6c806765f1 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -187,7 +187,7 @@ _ee_display_unset(Ecore_Evas *ee)
einfo = (Evas_Engine_Info_Wayland *)evas_engine_info_get(ee->evas);
if (!einfo) return;
 
-   einfo->info.wl_display = NULL;
+   einfo->info.wl2_display = NULL;
einfo->info.wl2_win = NULL;
 
wdata = ee->engine.data;
@@ -2165,7 +2165,7 @@ _ee_cb_sync_done(void *data, int type EINA_UNUSED, void 
*event EINA_UNUSED)
 
if ((einfo = (Evas_Engine_Info_Wayland *)evas_engine_info_get(ee->evas)))
  {
-einfo->info.wl_display = ecore_wl2_display_get(wdata->display);
+einfo->info.wl2_display = wdata->display;
 einfo->info.wl_dmabuf = ecore_wl2_display_dmabuf_get(wdata->display);
 einfo->info.wl_shm = ecore_wl2_display_shm_get(wdata->display);
 einfo->info.compositor_version =
@@ -2468,7 +2468,7 @@ _ecore_evas_wl_common_new_internal(const char *disp_name, 
unsigned int parent, i
 wdata->sync_done = EINA_TRUE;
 if ((einfo = (Evas_Engine_Info_Wayland 
*)evas_engine_info_get(ee->evas)))
   {
- einfo->info.wl_display = ecore_wl2_display_get(ewd);
+ einfo->info.wl2_display = ewd;
  einfo->info.destination_alpha = EINA_TRUE;
  einfo->info.rotation = ee->rotation;
  einfo->info.depth = 32;
diff --git a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h 
b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
index 7be7e2e9c9..c2c0b53b35 100644
--- a/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
+++ b/src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h
@@ -17,7 +17,7 @@ struct _Evas_Engine_Info_Wayland
 /* the wayland shm object used to create new shm pool */
 struct wl_shm *wl_shm;
 struct zwp_linux_dmabuf_v1 *wl_dmabuf;
-struct wl_display *wl_display;
+Ecore_Wl2_Display *wl2_display;
 Ecore_Wl2_Window *wl2_win;
 int depth, rotation, edges;
 int compositor_version;
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c 
b/src/modules/evas/engines/wayland_egl/evas_engine.c
index c640f6ccd0..4455aebebf 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -659,7 +659,7 @@ eng_output_update(void *engine EINA_UNUSED, void *data, 
void *info, unsigned int
if (ob)
  {
 ob->info = inf;
-if ((ob->info->info.wl_display != ob->disp) ||
+if ((ob->info->info.wl2_display != ob->wl2_disp) ||
 (ob->info->info.wl2_win != ob->wl2_win) ||
 /* FIXME: comment out below line.
  * since there is no place set the info->info.win for now,
@@ -672,7 +672,7 @@ eng_output_update(void *engine EINA_UNUSED, void *data, 
void *info, unsigned int
  Render_Output_Swap_Mode swap_mode = MODE_AUTO;
 
  gl_wins--;
- if (!ob->info->info.wl_display)
+ if (!ob->info->info.wl2_display)
{
   eng_window_free(ob);
   re->generic.software.ob = NULL;
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.h 
b/src/modules/evas/engines/wayland_egl/evas_engine.h
index 49218a9121..bab7cad7c9 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.h
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.h
@@ -55,7 +55,7 @@ extern int _evas_engine_wl_egl_log_dom;
 
 struct _Outbuf
 {
-   struct wl_display *disp;
+   Ecore_Wl2_Display *wl2_disp;
struct wl_egl_window *win;
Ecore_Wl2_Window *wl2_win;
int w, h;
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index 

[EGIT] [core/efl] master 02/06: ecore_wl2: Fix small bug in flush handler

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e0d94b8234f32440f71a66249337ee541cf97c52

commit e0d94b8234f32440f71a66249337ee541cf97c52
Author: Derek Foreman 
Date:   Wed Aug 30 12:16:34 2017 -0500

ecore_wl2: Fix small bug in flush handler

If wl_display_flush() returns a non negative number it was successful,
so we should disable the write handler then.  We were theoretically always
doing an extra flush on an empty buffer.

This is mostly cosmetic as that's not a costly operation.
---
 src/lib/ecore_wl2/ecore_wl2_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index 57f98cdcfc..69838f77bc 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -514,7 +514,7 @@ _cb_connect_data(void *data, Ecore_Fd_Handler *hdl)
  {
 ret = wl_display_flush(ewd->wl.display);
 code = errno;
-if (ret == 0)
+if (ret >= 0)
   ecore_main_fd_handler_active_set(hdl, ECORE_FD_READ);
 
 if ((ret < 0) && (code != EAGAIN)) goto err;

-- 




[EGIT] [core/efl] master 05/06: ecore_wl2: Add ecore_wl2_display_flush() api

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e7db6eec4607e78fa2e5160590f0b47b09379d93

commit e7db6eec4607e78fa2e5160590f0b47b09379d93
Author: Derek Foreman 
Date:   Wed Aug 30 12:24:16 2017 -0500

ecore_wl2: Add ecore_wl2_display_flush() api

Allowing engines to explicitly flush at the right times will remove some
awkwardness and bugs from our current display flush paradigm
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 12 
 src/lib/ecore_wl2/ecore_wl2_display.c | 21 +
 2 files changed, 33 insertions(+)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 069ec152b8..00fe79965e 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -1943,6 +1943,18 @@ EAPI void 
ecore_wl2_window_frame_callback_del(Ecore_Wl2_Frame_Cb_Handle *handle)
  */
 EAPI void ecore_wl2_window_buffer_attach(Ecore_Wl2_Window *win, void *buffer, 
int x, int y, Eina_Bool implicit);
 
+/**
+ * Push buffered wayland protocol to compositor
+ *
+ * Wayland protocol is only actually sent when a flush occurs,
+ * so the display should be flushed at appropriate times, such
+ * as after a commit.
+ *
+ * @param display
+ * @since 1.20
+ */
+EAPI void ecore_wl2_display_flush(Ecore_Wl2_Display *display);
+
 # endif
 
 # undef EAPI
diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c 
b/src/lib/ecore_wl2/ecore_wl2_display.c
index 69838f77bc..d96405c5a8 100644
--- a/src/lib/ecore_wl2/ecore_wl2_display.c
+++ b/src/lib/ecore_wl2/ecore_wl2_display.c
@@ -,3 +,24 @@ ecore_wl2_display_name_get(const Ecore_Wl2_Display 
*display)
EINA_SAFETY_ON_NULL_RETURN_VAL(display, NULL);
return display->name;
 }
+
+EAPI void
+ecore_wl2_display_flush(Ecore_Wl2_Display *display)
+{
+   int ret, code;
+
+   EINA_SAFETY_ON_NULL_RETURN(display);
+
+   ret = wl_display_flush(display->wl.display);
+   if (ret >= 0) return;
+
+   code = errno;
+   if (code == EAGAIN)
+ {
+ecore_main_fd_handler_active_set(display->fd_hdl,
+ (ECORE_FD_READ | ECORE_FD_WRITE));
+return;
+ }
+
+   _begin_recovery_maybe(display, code);
+}

-- 




[EGIT] [core/efl] master 03/06: walyand_shm: Remove unused variable

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f2756f92e8cb0c8dd3e4861ff4914bdfa626823f

commit f2756f92e8cb0c8dd3e4861ff4914bdfa626823f
Author: Derek Foreman 
Date:   Wed Aug 30 12:17:13 2017 -0500

walyand_shm: Remove unused variable

Nothing in here actually cares about the wl_display anymore.
---
 src/modules/evas/engines/wayland_shm/evas_shm.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/modules/evas/engines/wayland_shm/evas_shm.c 
b/src/modules/evas/engines/wayland_shm/evas_shm.c
index e7acd146fc..031b90fd35 100644
--- a/src/modules/evas/engines/wayland_shm/evas_shm.c
+++ b/src/modules/evas/engines/wayland_shm/evas_shm.c
@@ -61,7 +61,6 @@ struct _Shm_Leaf
 typedef struct _Shm_Surface Shm_Surface;
 struct _Shm_Surface
 {
-   struct wl_display *disp;
struct wl_shm *shm;
int w, h;
int num_buff;
@@ -593,7 +592,6 @@ _evas_shm_surface_create(Surface *s, int w, int h, int 
num_buff)
 
surf->w = w;
surf->h = h;
-   surf->disp = s->info->info.wl_display;
surf->shm = s->info->info.wl_shm;
surf->num_buff = num_buff;
surf->alpha = s->info->info.destination_alpha;

-- 




[EGIT] [core/efl] master 01/06: ecore_drm2: Fix warning with a dirty hack

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4e41f7569bfb1ca2fa5591e96ea31df5af6fa6ad

commit 4e41f7569bfb1ca2fa5591e96ea31df5af6fa6ad
Author: Derek Foreman 
Date:   Wed Aug 30 12:10:33 2017 -0500

ecore_drm2: Fix warning with a dirty hack

So because we include wayland-server.h we're told that wl_buffer is
deprecated - however clients are still expected to use it, it's only
deprecated for usage in a compositor.

Making these into void pointers shuts up the warning.

We need to include wayland-server.h since some of the code provided by
ecore_wl2 is for compositors, but some of it is also for clients...
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 2 +-
 src/lib/ecore_wl2/ecore_wl2_private.h | 2 +-
 src/lib/ecore_wl2/ecore_wl2_window.c  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index e09c42e9ce..069ec152b8 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -1941,7 +1941,7 @@ EAPI void 
ecore_wl2_window_frame_callback_del(Ecore_Wl2_Frame_Cb_Handle *handle)
  *
  * @since 1.20
  */
-EAPI void ecore_wl2_window_buffer_attach(Ecore_Wl2_Window *win, struct 
wl_buffer *buffer, int x, int y, Eina_Bool implicit);
+EAPI void ecore_wl2_window_buffer_attach(Ecore_Wl2_Window *win, void *buffer, 
int x, int y, Eina_Bool implicit);
 
 # endif
 
diff --git a/src/lib/ecore_wl2/ecore_wl2_private.h 
b/src/lib/ecore_wl2/ecore_wl2_private.h
index 85661ecba3..9ee07b7463 100644
--- a/src/lib/ecore_wl2/ecore_wl2_private.h
+++ b/src/lib/ecore_wl2/ecore_wl2_private.h
@@ -162,7 +162,7 @@ struct _Ecore_Wl2_Window
const char *role;
 
struct wl_surface *surface;
-   struct wl_buffer *buffer;
+   void *buffer;
struct wl_callback *callback;
struct www_surface *www_surface;
struct zxdg_surface_v6 *zxdg_surface;
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 566ea99de7..2ea2bd979d 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -1438,7 +1438,7 @@ 
ecore_wl2_window_frame_callback_del(Ecore_Wl2_Frame_Cb_Handle *handle)
 }
 
 EAPI void
-ecore_wl2_window_buffer_attach(Ecore_Wl2_Window *win, struct wl_buffer 
*buffer, int x, int y, Eina_Bool implicit)
+ecore_wl2_window_buffer_attach(Ecore_Wl2_Window *win, void *buffer, int x, int 
y, Eina_Bool implicit)
 {
EINA_SAFETY_ON_NULL_RETURN(win);
EINA_SAFETY_ON_NULL_RETURN(win->surface);

-- 




[EGIT] [core/efl] master 06/06: wayland: Force a display flush when committing surfaces

2017-08-30 Thread Derek Foreman
derekf pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f886a76daeab2b73eee441008e6b78d3f3d4ec02

commit f886a76daeab2b73eee441008e6b78d3f3d4ec02
Author: Derek Foreman 
Date:   Wed Aug 30 12:29:48 2017 -0500

wayland: Force a display flush when committing surfaces

We had a hack in place to flush the display from an idle enterer instead
of after a surface commit.  This led to a problem where the idle
enterer dispatch order was:

renderer for main canvas
wayland dispatch idle enterer
renderer for mouse cursor canvas

The surface commit for the mouse cursor was never dispatched, so the mouse
cursor animation would only update at the rate other events occurred.

By flushing at the appropriate times instead we ensure a proper update.

ref T5850
---
 src/lib/ecore_wl2/ecore_wl2_window.c| 6 +-
 src/modules/evas/engines/wayland_egl/evas_wl_main.c | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index 2ea2bd979d..81d8568f09 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -1398,7 +1398,11 @@ ecore_wl2_window_commit(Ecore_Wl2_Window *window, 
Eina_Bool flush)
window->callback = wl_surface_frame(window->surface);
wl_callback_add_listener(window->callback, &_frame_listener, window);
 
-   if (flush) wl_surface_commit(window->surface);
+   if (flush)
+ {
+wl_surface_commit(window->surface);
+ecore_wl2_display_flush(window->display);
+ }
 }
 
 EAPI Eina_Bool
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index b0249961ca..4f1823ec1f 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -547,6 +547,7 @@ eng_outbuf_flush(Outbuf *ob, Tilebuf_Rect *surface_damage, 
Tilebuf_Rect *buffer_
 
  end:
glsym_evas_gl_preload_render_unlock(eng_preload_make_current, ob);
+   ecore_wl2_display_flush(ob->wl2_disp);
 }
 
 Evas_Engine_GL_Context *

-- 




[EGIT] [core/efl] master 01/01: evas font: do floating point division for calculating more accurately

2017-08-30 Thread Youngbok Shin
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2b9a2692e8e2f3ed60fdf1e111ea5ffe1dfe0dcf

commit 2b9a2692e8e2f3ed60fdf1e111ea5ffe1dfe0dcf
Author: Youngbok Shin 
Date:   Wed Aug 30 11:40:26 2017 -0700

evas font: do floating point division for calculating more accurately

Summary:
Assigning a result of integral division to a double type variable is
not useful for next division calculation. For more accurate calculation,
it needs to be casted to double before doing division.
It does not fix some bugs. It was reported by a code quality advisor.

Test Plan: N/A

Reviewers: raster, cedric, jpeg, herdsman, eunue

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5069

Signed-off-by: Cedric Bail 
---
 src/lib/evas/common/evas_font_query.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/common/evas_font_query.c 
b/src/lib/evas/common/evas_font_query.c
index c52486b3cb..081f9a5e54 100644
--- a/src/lib/evas/common/evas_font_query.c
+++ b/src/lib/evas/common/evas_font_query.c
@@ -755,13 +755,13 @@ evas_common_font_query_char_at_coords(RGBA_Font *fn, 
const Evas_Text_Props *text
 if (text_props->bidi_dir == EVAS_BIDI_DIRECTION_LTR)
   {
  double part;
- part = cluster_adv / items;
+ part = (double) cluster_adv / items;
  item_pos = (int) ((x - cluster_start) / part);
   }
 else
   {
  double part;
- part = cluster_adv / items;
+ part = (double) cluster_adv / items;
  item_pos = items - ((int) ((x - cluster_start) / part)) - 1;
   }
 

-- 




[E-devel] [support.osuosl.org #29680] enlightenment5.osuosl.oob fan failure

2017-08-30 Thread Jonathan Frederick via RT
Upon further inspection it appears that the issue has disappeared; The blinking
light and buzzer noise is no longer present. In that case the box could be
simply overheating when under heavy load, or be experiencing some intermittent
fan problems. I'll keep an eye on it for now, in case it decides it doesn't
want to work again.

On Sun Aug 27 17:19:27 2017, ramereth wrote:
> Thanks for checking. We'll take a closer look sometime tomorrow.
>

--
Jonathan Frederick
Student Systems Engineer
Oregon State University | Open Source Lab


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Pre-release tarballs for efl 1.20.3

2017-08-30 Thread Jean Guyomarc'h
Hi Stefan,

this is good to go with Homebrew on my side :)

Jean

On Wed, Aug 30, 2017 at 1:40 PM, Stefan Schmidt 
wrote:

> Hello.
>
> I just uploaded the pre-release tarballs for 1.20.3.
>
> If I hear nothing problematic within the next 24 hours, I will do the
> final release on tomorrow.
>
> https://download.enlightenment.org/pre-releases/efl-1.20.3-pre.tar.gz
> d129a903e07afa8ef4ed57138543b679b63cfe4ff4d3904fa06203102f8e2745
>
> https://download.enlightenment.org/pre-releases/efl-1.20.3-pre.tar.xz
> 1273014aff3cd313a315f6745b02958668083726d830873b681fe726b9421191
>
> regards
> Stefan Schmidt
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Community management

2017-08-30 Thread William L. Thomson Jr.
I am sending this to e-devel as this pertains more to the core people
responsible for the project. Not to mention my interest is in doing EFL
application development. Which given my experiences thus far, I must be
crazy to continue participation. I am here for my own reasons. If not I
would be gone long ago. I have more motivation to go than stay

A few days back I was kicked from #edevelop by raster for saying
something he did not want to here. Though I was not banned. That was
minor, and only the 2nd time in some 15+ years of IRC I have been
kicked from any IRC channel.

Today after another used fowl language, personally insulted me, they
kicked and banned me. That is flat out unacceptable. Nice community!
Kicked once in 15+ years, and now in less than 2 week in E channels
kicked and banned. Nice way to grow the community... Silencing others...

13:41 <@KainX> ajslye: You don't know what you're talking about, and
this conversation is WAY off-topic.
13:41 < wltjr> https://en.wikipedia.org/wiki/Free_Speech_Movement
13:41 < wltjr> not really free speech movement is very much tied to
foss :)
13:41 <@KainX> wltjr: You too.  That's enough.  Take it to /msg.
13:41 < wltjr> ever hear of BSD? :)
13:42 <@KainX> I used to work for Berkeley, you dumb fuck.  I've worked
with more BSD creators than you've ever even heard of.  So just STFU.
13:43 < wltjr> then you would know the history and predates rms gnu etc
13:43 <@KainX> The next person I hear blaming "anti-fascists" for the
rise of fascism in America is going to have a serious boot up his ass.
13:43 < wltjr> KainX: nice language and attitude, clearly you were
involved in post years given the attitude
13:44 < wltjr> KainX: do you know what fascism is? those claming others
are exhibit more of that behavior, the irony
13:44 < ajslye> wltjr, 3 of the 4 people that were arested taking down
that one statue belonged to the Workers World Party
13:44 -!- wltjr was kicked from #e by KainX [ Out!  Out!  Evil demons
of stupidity!]
--- Log closed Wed Aug 30 13:44:31 2017

First off in IRC or email, anything public if you do not like what
someone is saying. You do not have to listen/read. Furthermore you can
easily set ingore on IRC, or filter out unwanted emails.

To kick and ban someone unilaterally like a dictator because you do not
like what they are saying literally is fascist behavior...

Not to mention after using fowl language and personally insulting
someone. Neither of which I did, and was far worse than anything I was
saying or doing. Really interesting! At this point I will not be
returning to IRC.

Really nice wonderful friendly community. Accepting of all

I have no tolerance for people claiming talk is off topic. When a
channel will sit idle, dead for long periods of time. For something
like #e, That channel should be very active always like most other
channels are for other desktops etc. It shocks me how little activity
#e has, and the project as a whole. But more I interact I am less
shocked and can see factual reasons why people avoid it.

Every since I first came to the E community. I have seen many things
that justify the community being small. Flat out rude behavior that
will drive people way, etc.

I would have, and likely should have been gone long ago. If I am not
right for the E community, then who is? I am opening bugs, helping
users, doing EFL app development. What more would you want from new
community members? I am not insulting anyone or using fowl language.
At best I may say something others do not want to hear, dislike or is
off topic. So for that its justified I be kicked, banned, insulted, etc?

What I am saying others may not like, but that is no reason or excuse
to kick/ban, etc. That is childish behavior and a power trip. Such
actions only invite revenge. How do you ban someone from IRC? They can
create accounts and join again. Its stupid, same for email etc.

None of that will encourage others to join or do more. If anything will
drive people away and keep thing small. Going back through my logs from
when I first showed. Today was the 2nd time I ever heard from or
interacted with KainX. First time being on 8./1/2017 with my logs going
back to when I first joined in 3/31/17.

I would never say such things to another in public. Much less someone I
had little to no interaction with. Very unprofessional.

-- 
William L. Thomson Jr.


pgpv1rk9_VRE2.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [admin/devs] master 01/01: remove secondary key for netstar

2017-08-30 Thread q66
q66 pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=f45cefd516254a07884c5c3d37dc24de973fbdfa

commit f45cefd516254a07884c5c3d37dc24de973fbdfa
Author: q66 
Date:   Wed Aug 30 20:34:31 2017 +0200

remove secondary key for netstar
---
 developers/netstar/id_rsa.pub | 1 -
 1 file changed, 1 deletion(-)

diff --git a/developers/netstar/id_rsa.pub b/developers/netstar/id_rsa.pub
deleted file mode 100644
index e36b8c2..000
--- a/developers/netstar/id_rsa.pub
+++ /dev/null
@@ -1 +0,0 @@
-ssh-rsa 
B3NzaC1yc2EDAQABAAABAQCy6ImrVISkohMcwrV5itvHv6JKkEd3FWOexShSMbz6VHHKVlxDW2ReJJKqWvzb5mCFiGHU20Qnm6FH8+wxc3kjPpEdTcjPgNBWcvFeE7psHExPGvkhorlilC7GETicgszPvbw+LErsivsaBl0sPMxa+QCy7MTCToRMRvBM68/WKHH+yY1gVXHbkRLxDasXTEMAqvgfh/x4QSFR27llWb2uCKMBcUZMrMyHBymx3HlUx3D8fXYuiJ+lnb33dgVboxb5L65OPWdCFsbqwLxaad4omR/N/Sp9+fve7+VHgk90+sNf3kwqi1nV+2DW6U2x7bUkGGmU+8n1gyZwz0CYOuJT
 netstar@Workstation

-- 




[EGIT] [core/enlightenment] master 02/02: Pager: Remember to remove deleted desks.

2017-08-30 Thread Stephen 'Okra' Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=03ea4bfe390745e32352591064013c5f4bdc6ee9

commit 03ea4bfe390745e32352591064013c5f4bdc6ee9
Author: Stephen 'Okra' Houston 
Date:   Wed Aug 30 13:22:23 2017 -0500

Pager: Remember to remove deleted desks.
---
 src/modules/pager/gadget/pager.c | 41 
 1 file changed, 12 insertions(+), 29 deletions(-)

diff --git a/src/modules/pager/gadget/pager.c b/src/modules/pager/gadget/pager.c
index 35732ed31..7d5f826bc 100644
--- a/src/modules/pager/gadget/pager.c
+++ b/src/modules/pager/gadget/pager.c
@@ -536,7 +536,7 @@ _pager_fill(Pager *p)
  {
 if ((p->plain) || (pager_config->permanent_plain))
   {
- if (!eina_list_count(phandlers))
+ if (!phandlers)
{
   E_LIST_HANDLER_APPEND(phandlers, E_EVENT_CLIENT_RESIZE, 
_pager_cb_event_client_resize, NULL);
   E_LIST_HANDLER_APPEND(phandlers, E_EVENT_CLIENT_MOVE, 
_pager_cb_event_client_move, NULL);
@@ -580,7 +580,7 @@ _pager_empty(Pager *p)
p->active_pd = NULL;
if (!(p->plain) && !(pager_config->permanent_plain))
  {
-if (eina_list_count(phandlers))
+if (!phandlers)
   {
  Ecore_Event_Handler *handler;
  EINA_LIST_FREE(phandlers, handler)
@@ -713,12 +713,9 @@ _pager_desk_free(Pager_Desk *pd)
  evas_object_del(pd->drop_handler);
pd->drop_handler = NULL;
evas_object_del(pd->o_desk);
-   evas_object_del(pd->o_layout);
-   if (pd->wins)
- {
-EINA_LIST_FREE(pd->wins, w)
-  _pager_window_free(w);
- }
+   evas_object_del(pd->o_layout); 
+   EINA_LIST_FREE(pd->wins, w)
+   _pager_window_free(w);
e_object_unref(E_OBJECT(pd->desk));
free(pd);
 }
@@ -1775,7 +1772,7 @@ static Eina_Bool
 _pager_cb_event_zone_desk_count_set(void *data EINA_UNUSED, int type 
EINA_UNUSED, E_Event_Zone_Desk_Count_Set *ev)
 {
E_Desk *desk;
-   Eina_List *l;
+   Eina_List *l, *ll;
Pager *p;
Pager_Desk *pd = NULL;
int x, y, xx, yy;
@@ -1800,26 +1797,12 @@ _pager_cb_event_zone_desk_count_set(void *data 
EINA_UNUSED, int type EINA_UNUSED
 }
}
   }
-if (xx < p->xnum)
-  {
- for (y = 0; y < yy; y++)
-   {
-  for (x = xx; x < p->xnum; x++)
-{
-   pd = eina_list_nth(p->desks, x + (y * p->xnum));
-   _pager_desk_free(pd);
-}
-   }
-  }
-if (yy < p->ynum)
+EINA_LIST_FOREACH(p->desks, ll, pd)
   {
- for (x = 0; x < xx; x++)
+ if (!e_desk_at_xy_get(p->zone, pd->xpos, pd->ypos))
{
-  for (y = yy; y  < p->ynum; y++)
-{
-   pd = eina_list_nth(p->desks, x + (y * p->xnum));
-   _pager_desk_free(pd);
-}
+  p->desks = eina_list_remove(p->desks, pd);
+  _pager_desk_free(pd);
}
   }
 e_zone_desk_count_get(p->zone, &(p->xnum), &(p->ynum));
@@ -1837,7 +1820,7 @@ _pager_cb_event_desk_show(void *data EINA_UNUSED, int 
type EINA_UNUSED, void *ev
Pager_Popup *pp;
Pager_Desk *pd;
 
-   if (!eina_list_count(pagers))
+   if (!pagers)
  return ECORE_CALLBACK_PASS_ON;
 
EINA_LIST_FOREACH(pagers, l, p)
@@ -1904,7 +1887,7 @@ _pager_cb_event_client_urgent_change(void *data 
EINA_UNUSED, int type EINA_UNUSE
Pager_Win *pw;
 
if (!(ev->property & E_CLIENT_PROPERTY_URGENCY)) return 
ECORE_CALLBACK_RENEW;
-   if (!eina_list_count(pagers)) return ECORE_CALLBACK_RENEW;
+   if (!pagers) return ECORE_CALLBACK_RENEW;
 
if (pager_config->popup_urgent && (!e_client_util_desk_visible(ev->ec, 
e_desk_current_get(ev->ec->zone))) &&
(pager_config->popup_urgent_focus ||

-- 




[EGIT] [core/enlightenment] master 01/02: Pager: Don't empty/fill pager unecessarily.

2017-08-30 Thread Stephen 'Okra' Houston
okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=18ce3e4d93e19ad70c097394d4d7e729f33aeabc

commit 18ce3e4d93e19ad70c097394d4d7e729f33aeabc
Author: Stephen 'Okra' Houston 
Date:   Wed Aug 30 11:27:13 2017 -0500

Pager: Don't empty/fill pager unecessarily.
---
 src/modules/pager/gadget/pager.c | 79 +++-
 1 file changed, 69 insertions(+), 10 deletions(-)

diff --git a/src/modules/pager/gadget/pager.c b/src/modules/pager/gadget/pager.c
index c371dec8a..35732ed31 100644
--- a/src/modules/pager/gadget/pager.c
+++ b/src/modules/pager/gadget/pager.c
@@ -317,12 +317,29 @@ static void
 _pager_gadget_anchor_change_cb(void *data, Evas_Object *obj, void *event_info 
EINA_UNUSED)
 {
Instance *inst = data;
+   Eina_Bool invert;
 
if (inst->pager && inst->o_pager)
  {
-_pager_orient(inst, e_gadget_site_orient_get(obj));
-_pager_empty(inst->pager);
-_pager_fill(inst->pager);
+switch (e_gadget_site_orient_get(obj))
+  {
+   case E_GADGET_SITE_ORIENT_HORIZONTAL:
+ invert = EINA_FALSE;
+ break;
+
+   case E_GADGET_SITE_ORIENT_VERTICAL:
+ invert = EINA_TRUE;
+ break;
+
+   default:
+ invert = EINA_FALSE;
+  }
+if (invert != inst->pager->invert)
+  {
+ _pager_orient(inst, e_gadget_site_orient_get(obj));
+ _pager_empty(inst->pager);
+ _pager_fill(inst->pager);
+  }
  }
 }
 
@@ -697,8 +714,11 @@ _pager_desk_free(Pager_Desk *pd)
pd->drop_handler = NULL;
evas_object_del(pd->o_desk);
evas_object_del(pd->o_layout);
-   EINA_LIST_FREE(pd->wins, w)
- _pager_window_free(w);
+   if (pd->wins)
+ {
+EINA_LIST_FREE(pd->wins, w)
+  _pager_window_free(w);
+ }
e_object_unref(E_OBJECT(pd->desk));
free(pd);
 }
@@ -1754,18 +1774,57 @@ _pager_cb_event_client_property(void *data EINA_UNUSED, 
int type EINA_UNUSED, vo
 static Eina_Bool
 _pager_cb_event_zone_desk_count_set(void *data EINA_UNUSED, int type 
EINA_UNUSED, E_Event_Zone_Desk_Count_Set *ev)
 {
+   E_Desk *desk;
Eina_List *l;
Pager *p;
+   Pager_Desk *pd = NULL;
+   int x, y, xx, yy;
 
+   xx = ev->zone->desk_x_count;
+   yy = ev->zone->desk_y_count;
EINA_LIST_FOREACH(pagers, l, p)
  {
-if ((ev->zone->desk_x_count == p->xnum) &&
-(ev->zone->desk_y_count == p->ynum)) continue;
-_pager_empty(p);
-_pager_fill(p);
+if ((xx == p->xnum) && (yy == p->ynum))
+  continue;
+for (x = 0; x < xx; x++)
+  {
+ for (y = 0; y < yy; y++)
+   {
+  if ((x >= p->xnum) || (y >= p->ynum))
+{
+   desk = e_desk_at_xy_get(p->zone, x, y);
+   if (desk)
+ pd = _pager_desk_new(p, desk, x, y, p->invert);
+   if (pd)
+ p->desks = eina_list_append(p->desks, pd);
+}
+   }
+  }
+if (xx < p->xnum)
+  {
+ for (y = 0; y < yy; y++)
+   {
+  for (x = xx; x < p->xnum; x++)
+{
+   pd = eina_list_nth(p->desks, x + (y * p->xnum));
+   _pager_desk_free(pd);
+}
+   }
+  }
+if (yy < p->ynum)
+  {
+ for (x = 0; x < xx; x++)
+   {
+  for (y = yy; y  < p->ynum; y++)
+{
+   pd = eina_list_nth(p->desks, x + (y * p->xnum));
+   _pager_desk_free(pd);
+}
+   }
+  }
+e_zone_desk_count_get(p->zone, &(p->xnum), &(p->ynum));
 if (p->inst) _pager_orient(p->inst, 
e_gadget_site_orient_get(e_gadget_site_get(p->inst->o_pager)));
  }
-
return ECORE_CALLBACK_PASS_ON;
 }
 

-- 




[EGIT] [core/efl] master 01/01: elua: load regular file if bytecode cache fails

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=67d1c0e51c01ba159f88adc6446cc31cee79c808

commit 67d1c0e51c01ba159f88adc6446cc31cee79c808
Author: Daniel Kolesa 
Date:   Wed Aug 30 20:19:24 2017 +0200

elua: load regular file if bytecode cache fails

If bytecode is requested and fails to load, load original file
instead. Force re-write of bytecode if that succeeds.

This is useful if there is bytecode newer than the source file that
the current Lua version can't load, for example when migrating from
LuaJIT 2.0 to 2.1, which changed bytecode format.

Fixes confusing cases such as in T2728.
---
 src/lib/elua/cache.c | 38 ++
 1 file changed, 34 insertions(+), 4 deletions(-)

diff --git a/src/lib/elua/cache.c b/src/lib/elua/cache.c
index fe6825f0f9..91fcdac658 100644
--- a/src/lib/elua/cache.c
+++ b/src/lib/elua/cache.c
@@ -35,11 +35,11 @@ generate:
 }
 
 static Eina_File *
-open_src(const char *fname, Eina_Bool *bc)
+open_src(const char *fname, Eina_Bool *bc, Eina_Bool allow_bc)
 {
Eina_File  *f   = NULL;
const char *ext = strstr(fname, ".lua");
-   if (ext && !ext[4])
+   if (ext && !ext[4] && allow_bc)
  {
 char buf[PATH_MAX];
 snprintf(buf, sizeof(buf), "%sc", fname);
@@ -151,7 +151,7 @@ elua_io_loadfile(const Elua_State *es, const char *fname)
  {
 return elua_loadstdin(L);
  }
-   if (!(f = open_src(fname, )))
+   if (!(f = open_src(fname, , EINA_TRUE)))
  {
 lua_pushfstring(L, "cannot open %s: %s", fname, strerror(errno));
 return LUA_ERRFILE;
@@ -167,7 +167,37 @@ elua_io_loadfile(const Elua_State *es, const char *fname)
status = lua_load(L, getf_map, , chname);
eina_file_map_free(f, s.fmap);
eina_file_close(f);
-   if (!status && bcache) write_bc(L, fname);
+   if (status)
+ {
+/* we loaded bytecode and that failed; try loading source instead */
+if (!bcache)
+  {
+ /* can't open real file, so return original error */
+ if (!(f = open_src(fname, , EINA_FALSE)))
+   {
+  lua_remove(L, -2);
+  return status;
+   }
+ s.flen = eina_file_size_get(f);
+ /* can't read real file, so return original error */
+ if (!(s.fmap = eina_file_map_all(f, EINA_FILE_RANDOM)))
+   {
+  lua_remove(L, -2);
+  return status;
+   }
+ /* loaded original file, pop old error and load again */
+ lua_pop(L, 1);
+ status = lua_load(L, getf_map, , chname);
+ eina_file_map_free(f, s.fmap);
+ eina_file_close(f);
+ /* force write new bytecode */
+ if (!status)
+   write_bc(L, fname);
+  }
+/* whatever happened here, proceed to the end... */
+ }
+   else if (bcache)
+ write_bc(L, fname); /* success and bytecode write */
lua_remove(L, -2);
return status;
 }

-- 




[EGIT] [core/efl] master 02/02: elua: update eolian bindings and make docgen work again

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8b5d555cf58f0d65a3d13ba94f61121a846eda8a

commit 8b5d555cf58f0d65a3d13ba94f61121a846eda8a
Author: Daniel Kolesa 
Date:   Wed Aug 30 19:38:53 2017 +0200

elua: update eolian bindings and make docgen work again
---
 src/bindings/luajit/eolian.lua   | 51 
 src/scripts/elua/apps/docgen/doctree.lua | 26 
 src/scripts/elua/apps/gendoc.lua |  3 ++
 3 files changed, 68 insertions(+), 12 deletions(-)

diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index 660667bec6..d86e8e8396 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -36,7 +36,8 @@ ffi.cdef [[
 EOLIAN_PROPERTY,
 EOLIAN_PROP_SET,
 EOLIAN_PROP_GET,
-EOLIAN_METHOD
+EOLIAN_METHOD,
+EOLIAN_FUNCTION_POINTER
 } Eolian_Function_Type;
 
 typedef enum
@@ -69,7 +70,8 @@ ffi.cdef [[
 EOLIAN_TYPEDECL_STRUCT,
 EOLIAN_TYPEDECL_STRUCT_OPAQUE,
 EOLIAN_TYPEDECL_ENUM,
-EOLIAN_TYPEDECL_ALIAS
+EOLIAN_TYPEDECL_ALIAS,
+EOLIAN_TYPEDECL_FUNCTION_POINTER
 } Eolian_Typedecl_Type;
 
 typedef enum
@@ -259,6 +261,9 @@ ffi.cdef [[
 const Eolian_Implement *eolian_function_implement_get(const 
Eolian_Function *function_id);
 Eina_Bool eolian_function_is_legacy_only(const Eolian_Function 
*function_id, Eolian_Function_Type ftype);
 Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
+Eina_Bool eolian_function_is_beta(const Eolian_Function *function_id);
+Eina_Bool eolian_function_is_constructor(const Eolian_Function 
*function_id, const Eolian_Class *klass);
+Eina_Bool eolian_function_is_function_pointer(const Eolian_Function 
*function_id);
 Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id, 
Eolian_Function_Type ftype);
 Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id, 
Eolian_Function_Type ftype);
 Eina_Iterator *eolian_function_parameters_get(const Eolian_Function 
*function_id);
@@ -361,6 +366,8 @@ ffi.cdef [[
 const char *eolian_type_free_func_get(const Eolian_Type *tp);
 const char *eolian_typedecl_free_func_get(const Eolian_Typedecl *tp);
 
+const Eolian_Function *eolian_typedecl_function_pointer_get(const 
Eolian_Typedecl *tp);
+
 Eolian_Value_t eolian_expression_eval(const Eolian_Unit *unit, const 
Eolian_Expression *expr, Eolian_Expression_Mask m);
 Eolian_Value_t eolian_expression_eval_type(const Eolian_Unit *unit, const 
Eolian_Expression *expr, const Eolian_Type *type);
 const char *eolian_expression_value_to_literal(const Eolian_Value *v);
@@ -510,11 +517,12 @@ M.type_type = {
 }
 
 M.typedecl_type = {
-UNKNOWN   = 0,
-STRUCT= 1,
-STRUCT_OPAQUE = 2,
-ENUM  = 3,
-ALIAS = 4
+UNKNOWN  = 0,
+STRUCT   = 1,
+STRUCT_OPAQUE= 2,
+ENUM = 3,
+ALIAS= 4,
+FUNCTION_POINTER = 5
 }
 
 M.c_type_type = {
@@ -662,6 +670,12 @@ M.Typedecl = ffi.metatype("Eolian_Typedecl", {
 local v = eolian.eolian_typedecl_free_func_get(self)
 if v == nil then return nil end
 return ffi.string(v)
+end,
+
+function_pointer_get = function(self)
+local v = eolian.eolian_typedecl_function_pointer_get(self)
+if v == nil then return nil end
+return v
 end
 }
 })
@@ -756,11 +770,12 @@ M.Type = ffi.metatype("Eolian_Type", {
 })
 
 M.function_type = {
-UNRESOLVED = 0,
-PROPERTY   = 1,
-PROP_SET   = 2,
-PROP_GET   = 3,
-METHOD = 4
+UNRESOLVED   = 0,
+PROPERTY = 1,
+PROP_SET = 2,
+PROP_GET = 3,
+METHOD   = 4,
+FUNCTION_POINTER = 5
 }
 
 M.Function = ffi.metatype("Eolian_Function", {
@@ -805,6 +820,18 @@ M.Function = ffi.metatype("Eolian_Function", {
 return eolian.eolian_function_is_class(self) ~= 0
 end,
 
+is_beta = function(self)
+return eolian.eolian_function_is_beta(self) ~= 0
+end,
+
+is_constructor = function(self, klass)
+return eolian.eolian_function_is_constructor(self, klass) ~= 0
+end,
+
+is_function_pointer = function(self)
+return eolian.eolian_function_is_function_pointer(self) ~= 0
+end,
+
 property_keys_get = function(self, ftype)
 return Ptr_Iterator("const Eolian_Function_Parameter*",
 eolian.eolian_property_keys_get(self, ftype))
diff --git a/src/scripts/elua/apps/docgen/doctree.lua 
b/src/scripts/elua/apps/docgen/doctree.lua
index 9130f3ca46..008e705d1a 100644
--- a/src/scripts/elua/apps/docgen/doctree.lua
+++ b/src/scripts/elua/apps/docgen/doctree.lua
@@ -349,6 +349,7 @@ M.Function = 

[EGIT] [core/efl] master 01/02: eolian: remove c_only

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=10fd3c32e825842c837fbfb68094ef7f2e4ae9e5

commit 10fd3c32e825842c837fbfb68094ef7f2e4ae9e5
Author: Daniel Kolesa 
Date:   Wed Aug 30 19:31:23 2017 +0200

eolian: remove c_only

Unused and of questionable value.
---
 src/bindings/luajit/eolian.lua   |  5 
 src/lib/eolian/Eolian.h  | 10 
 src/lib/eolian/database_function_api.c   |  7 --
 src/lib/eolian/eo_lexer.h|  2 +-
 src/lib/eolian/eo_parser.c   | 41 +++-
 src/lib/eolian/eolian_database.h |  1 -
 src/scripts/elua/apps/docgen/doctree.lua |  4 
 src/scripts/elua/apps/gendoc.lua |  3 ---
 src/scripts/elua/modules/lualian.lua |  4 ++--
 src/tests/eolian/data/class_simple.eo|  4 ++--
 src/tests/eolian/eolian_parsing.c|  2 --
 11 files changed, 13 insertions(+), 70 deletions(-)

diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index d31ead5c45..660667bec6 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -259,7 +259,6 @@ ffi.cdef [[
 const Eolian_Implement *eolian_function_implement_get(const 
Eolian_Function *function_id);
 Eina_Bool eolian_function_is_legacy_only(const Eolian_Function 
*function_id, Eolian_Function_Type ftype);
 Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
-Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
 Eina_Iterator *eolian_property_keys_get(const Eolian_Function *foo_id, 
Eolian_Function_Type ftype);
 Eina_Iterator *eolian_property_values_get(const Eolian_Function *foo_id, 
Eolian_Function_Type ftype);
 Eina_Iterator *eolian_function_parameters_get(const Eolian_Function 
*function_id);
@@ -806,10 +805,6 @@ M.Function = ffi.metatype("Eolian_Function", {
 return eolian.eolian_function_is_class(self) ~= 0
 end,
 
-is_c_only = function(self)
-return eolian.eolian_function_is_c_only(self) ~= 0
-end,
-
 property_keys_get = function(self, ftype)
 return Ptr_Iterator("const Eolian_Function_Parameter*",
 eolian.eolian_property_keys_get(self, ftype))
diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 9f99d361f1..2bface281f 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -799,16 +799,6 @@ EAPI Eina_Bool eolian_function_is_legacy_only(const 
Eolian_Function *function_id
 EAPI Eina_Bool eolian_function_is_class(const Eolian_Function *function_id);
 
 /*
- * @brief Get whether a function is C only (i.e. not bindable).
- *
- * @param[in] function_id Id of the function
- * @return EINA_TRUE and EINA_FALSE respectively
- *
- * @ingroup Eolian
- */
-EAPI Eina_Bool eolian_function_is_c_only(const Eolian_Function *function_id);
-
-/*
  * @brief Get whether a function is beta.
  *
  * @param[in] function_id Id of the function
diff --git a/src/lib/eolian/database_function_api.c 
b/src/lib/eolian/database_function_api.c
index a3a00d5380..400bd1dffb 100644
--- a/src/lib/eolian/database_function_api.c
+++ b/src/lib/eolian/database_function_api.c
@@ -402,13 +402,6 @@ eolian_function_class_get(const Eolian_Function *fid)
 }
 
 EAPI Eina_Bool
-eolian_function_is_c_only(const Eolian_Function *fid)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
-   return fid->is_c_only;
-}
-
-EAPI Eina_Bool
 eolian_function_is_beta(const Eolian_Function *fid)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(fid, EINA_FALSE);
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h
index 9c9b1d25c1..9a82bca2ed 100644
--- a/src/lib/eolian/eo_lexer.h
+++ b/src/lib/eolian/eo_lexer.h
@@ -29,7 +29,7 @@ enum Tokens
 KW(get), KW(implements), KW(import), KW(interface), KW(keys), KW(legacy), \
 KW(legacy_prefix), KW(methods), KW(mixin), KW(own), KW(params), KW(ptr), \
 KW(set), KW(type), KW(values), KW(var), KWAT(auto), KWAT(beta), \
-KWAT(c_only), KWAT(class), KWAT(const), KWAT(empty), KWAT(extern), \
+KWAT(class), KWAT(const), KWAT(empty), KWAT(extern), \
 KWAT(free), KWAT(hot), KWAT(in), KWAT(inout), KWAT(nonull), 
KWAT(nullable), \
 KWAT(optional), KWAT(out), KWAT(private), KWAT(property), \
 KWAT(protected), KWAT(restart), KWAT(pure_virtual), KWAT(warn_unused), \
diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 24585977c0..8e035f672f 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1290,8 +1290,7 @@ parse_property(Eo_Lexer *ls)
Eina_Bool has_get   = EINA_FALSE, has_set= EINA_FALSE,
  has_keys  = EINA_FALSE, has_values = EINA_FALSE,
  has_protected = EINA_FALSE, has_class  = EINA_FALSE,
- has_c_only= EINA_FALSE, has_beta   = EINA_FALSE,
- has_virtp = EINA_FALSE;
+ has_beta  = EINA_FALSE, 

Re: [E-devel] E freezes

2017-08-30 Thread Pierre Couderc

On 08/30/2017 07:11 PM, William L. Thomson Jr. wrote:

Forgot to mention, I experience this pretty much only on my dual
display desktop. I think it maybe related to dual displays, or at least
is more of a trigger.


Without saying that it is linked, with dual display, I have many 
keyboard freezes (about 5 a day). The mouse is not frozen,  and allows 
"Enlightenment" "Restart". (e 0.21.5)


PC

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] E freezes

2017-08-30 Thread William L. Thomson Jr.
Forgot to mention, I experience this pretty much only on my dual
display desktop. I think it maybe related to dual displays, or at least
is more of a trigger.

This never happens on my laptop. Though I only have 1 display active on
that at any given time, internal or external, not both. I did
experience other issues with my laptop before E 0.21.9. Anytime I moved
Firefox tabs it would crash E, on efl 1.20.3. That never happened on my
desktop with same versions. But never 100% cpu on my laptop.

The EFM/Terminology 100% 1 cpu core issue only occurs on my desktop.
But I have seen odd things on laptop not on desktop and now on desktop
not on laptop. Same binaries on both, made on a different system.

On Wed, 30 Aug 2017 12:50:08 -0400
"William L. Thomson Jr."  wrote:

> FYI I am still experiencing issues, that seem to stem from
> Terminology. I thought it was related to Firefox. But just now I had
> like ~15 terminals open. I noticed typing in one slowed. That is
> always the symptom or Firefox slows. But even after closing Firefox
> it would remain till I closed a few terminals.
> 
> Just now I had no firefox open and nothing open but ~15 terminology
> windows. Working remotely, not even any local load. But 1 CPU core was
> maxed at 100% usage. Which is always the case when I experience this.
> 
> Closing terminology windows eventually drops the CPU usage, but E
> still seems sluggish. Till I log out and back in again.
> 
> IMHO there is definitely some issue with EFL 1.20.3. It maybe
> terminology but my gut says this is something deeper. I have
> experienced similar with EFM as reported by others.
> 
> I think the only way to debug is via gdb, if I can. Since it is not
> crashing. Unless I let it go till OOM if that occurs, and then causes
> some crash. Seems like it would just max out system and remain that
> way till hard reboot/power cycle. Really not sure how to debug or
> provide information.
> 
> Maybe need to do efl logging and use the profiling viewer?
> 
> On Mon, 31 Jul 2017 01:15:01 -0400
> "William L. Thomson Jr."  wrote:
> 
> > On Sun, 30 Jul 2017 23:30:36 +
> > Andrew Williams  wrote:
> >   
> > > Seems enlightenment_fm was at 80% cpu. Restarting E elevated it to
> > > 120% and logging out and back in didn't fix it.
> > > Restarting the machine got cpu load back under control until i
> > > started using e_fm again.
> > 
> > I have experienced issues with efm/e 0.21.8 and efl 1.20 beta 3. As
> > you described and up to requiring a hard reboot via power button.
> > Usually when I accidentally open efm.
> > 
> > One known trigger for me is to open a large file[2] with ecrire[1]
> > with e 0.21.8 and efl 1.20 beta 3. That triggers the 100%
> > cpu/memory. If not killed will max out system requiring hard
> > reboot. I thought was issues with elm_code fixing a crash with
> > large files. Which it maybe as well an issue with elm_code, as a
> > known reported issue with large files.
> > 
> > That I also experienced efm doing the same. I mentioned to raster
> > both in IRC and that they maybe related. Though since I did not
> > build anything with symbols I lack any useful output.
> > 
> > Ecrire
> > https://github.com/Obsidian-StudiosInc/ecrire/
> > Large file
> > https://github.com/Obsidian-StudiosInc/ecrire/files/1008473/fgdgda.txt
> >   
> 
> 
> 



-- 
William L. Thomson Jr.


pgpeTWDeTrxfH.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: we always do use the common backend, so always init.

2017-08-30 Thread Cedric BAIL
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4406d7098cb37dc8597589c1254adf8f3b3197a4

commit 4406d7098cb37dc8597589c1254adf8f3b3197a4
Author: Cedric Bail 
Date:   Wed Aug 30 10:01:17 2017 -0700

evas: we always do use the common backend, so always init.
---
 src/lib/evas/canvas/evas_main.c | 10 --
 src/lib/evas/canvas/evas_out.c  |  6 --
 src/lib/evas/include/evas_private.h |  1 -
 3 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index cb01effbd8..2b07d3e53c 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -88,6 +88,8 @@ evas_init(void)
if (!evas_thread_init())
  goto shutdown_filter;
 
+   evas_common_init();
+
eina_log_timing(_evas_log_dom_global,
   EINA_LOG_STATE_STOP,
   EINA_LOG_STATE_INIT);
@@ -138,6 +140,8 @@ evas_shutdown(void)
EINA_LOG_STATE_START,
EINA_LOG_STATE_SHUTDOWN);
 
+   evas_common_shutdown();
+
 #ifdef EVAS_CSERVE2
if (evas_cserve2_use_get())
  evas_cserve2_shutdown();
@@ -405,12 +409,6 @@ next_zombie:
EINA_LIST_FREE(e->outputs, evo) efl_canvas_output_del(evo);
e->engine.func->engine_free(e->backend);
 
-   if (e->common_init)
- {
-e->common_init = 0;
-evas_common_shutdown();
- }
-
for (i = 0; i < e->modifiers.mod.count; i++)
  free(e->modifiers.mod.list[i]);
if (e->modifiers.mod.list) free(e->modifiers.mod.list);
diff --git a/src/lib/evas/canvas/evas_out.c b/src/lib/evas/canvas/evas_out.c
index c5687de4b2..cd7fbaf2d8 100644
--- a/src/lib/evas/canvas/evas_out.c
+++ b/src/lib/evas/canvas/evas_out.c
@@ -152,12 +152,6 @@ efl_canvas_output_engine_info_set(Efl_Canvas_Output 
*output,
  }
else
  {
-if (!e->common_init)
-  {
- e->common_init = 1;
- evas_common_init();
-  }
-
  setup:
 output->output = e->engine.func->output_setup(_evas_engine_context(e), 
info,
   output->geometry.w, 
output->geometry.h);
diff --git a/src/lib/evas/include/evas_private.h 
b/src/lib/evas/include/evas_private.h
index 862e950e14..4364cd6259 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -976,7 +976,6 @@ struct _Evas_Public_Data
Eina_Bool  is_frozen : 1;
Eina_Bool  rendering : 1;
Eina_Bool  render2 : 1;
-   Eina_Bool  common_init : 1;
Eina_Bool  inside_post_render : 1;
Eina_Bool  devices_modified : 1;
 };

-- 




Re: [E-devel] E freezes

2017-08-30 Thread William L. Thomson Jr.
FYI I am still experiencing issues, that seem to stem from Terminology.
I thought it was related to Firefox. But just now I had like ~15
terminals open. I noticed typing in one slowed. That is always the
symptom or Firefox slows. But even after closing Firefox it would
remain till I closed a few terminals.

Just now I had no firefox open and nothing open but ~15 terminology
windows. Working remotely, not even any local load. But 1 CPU core was
maxed at 100% usage. Which is always the case when I experience this.

Closing terminology windows eventually drops the CPU usage, but E still
seems sluggish. Till I log out and back in again.

IMHO there is definitely some issue with EFL 1.20.3. It maybe
terminology but my gut says this is something deeper. I have
experienced similar with EFM as reported by others.

I think the only way to debug is via gdb, if I can. Since it is not
crashing. Unless I let it go till OOM if that occurs, and then causes
some crash. Seems like it would just max out system and remain that way
till hard reboot/power cycle. Really not sure how to debug or provide
information.

Maybe need to do efl logging and use the profiling viewer?

On Mon, 31 Jul 2017 01:15:01 -0400
"William L. Thomson Jr."  wrote:

> On Sun, 30 Jul 2017 23:30:36 +
> Andrew Williams  wrote:
> 
> > Seems enlightenment_fm was at 80% cpu. Restarting E elevated it to
> > 120% and logging out and back in didn't fix it.
> > Restarting the machine got cpu load back under control until i
> > started using e_fm again.  
> 
> I have experienced issues with efm/e 0.21.8 and efl 1.20 beta 3. As
> you described and up to requiring a hard reboot via power button.
> Usually when I accidentally open efm.
> 
> One known trigger for me is to open a large file[2] with ecrire[1]
> with e 0.21.8 and efl 1.20 beta 3. That triggers the 100% cpu/memory.
> If not killed will max out system requiring hard reboot. I thought was
> issues with elm_code fixing a crash with large files. Which it maybe
> as well an issue with elm_code, as a known reported issue with large
> files.
> 
> That I also experienced efm doing the same. I mentioned to raster both
> in IRC and that they maybe related. Though since I did not build
> anything with symbols I lack any useful output.
> 
> Ecrire
> https://github.com/Obsidian-StudiosInc/ecrire/
> Large file
> https://github.com/Obsidian-StudiosInc/ecrire/files/1008473/fgdgda.txt
> 



-- 
William L. Thomson Jr.


pgpU9mFubRAs6.pgp
Description: OpenPGP digital signature
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [admin/devs] master 01/01: netsar: add ed25519 key

2017-08-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=0be425eca616fcbbd7c3d8bb21944c59d9c3a6e5

commit 0be425eca616fcbbd7c3d8bb21944c59d9c3a6e5
Author: Stefan Schmidt 
Date:   Wed Aug 30 18:33:01 2017 +0200

netsar: add ed25519 key

Hopefully that fixes his login problems.
---
 developers/netstar/id_ed25519.pub | 1 +
 1 file changed, 1 insertion(+)

diff --git a/developers/netstar/id_ed25519.pub 
b/developers/netstar/id_ed25519.pub
new file mode 100644
index 000..7e1dbc2
--- /dev/null
+++ b/developers/netstar/id_ed25519.pub
@@ -0,0 +1 @@
+ssh-ed25519 
C3NzaC1lZDI1NTE5IAgc+oC01TDan+Dmu3PuiRz7VOKH4QnQ0Mnejm4zYVXF 
nets...@gmail.com

-- 




[EGIT] [core/efl] master 01/01: efl_ui_focus_manager: reset focus stack once we are changing redirect

2017-08-30 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=245a04cc44911efe4243e2cb0451f20c4d929217

commit 245a04cc44911efe4243e2cb0451f20c4d929217
Author: Marcel Hollerbach 
Date:   Wed Aug 30 17:55:51 2017 +0200

efl_ui_focus_manager: reset focus stack once we are changing redirect

ref T5923
---
 src/lib/elementary/efl_ui_focus_manager.eo  |  7 
 src/lib/elementary/efl_ui_focus_manager_calc.c  | 48 +
 src/lib/elementary/efl_ui_focus_manager_calc.eo |  1 +
 3 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager.eo 
b/src/lib/elementary/efl_ui_focus_manager.eo
index 2bb08625e3..546f9c38e1 100644
--- a/src/lib/elementary/efl_ui_focus_manager.eo
+++ b/src/lib/elementary/efl_ui_focus_manager.eo
@@ -125,6 +125,13 @@ interface Efl.Ui.Focus.Manager {
 ]]
 return : Efl.Ui.Focus.Object; [[Last object]]
 }
+reset_history {
+[[Reset the history stack of this manager object.
+  This means the most upper element will be unfocused, all other 
elements will be removed from the remembered before.
+
+  To not break the assertion that there should be always a focused 
element, you should focus a other element immidiatly after calling that.
+]]
+}
 }
 events {
 redirect,changed : Efl.Ui.Focus.Manager; [[Emitted when the redirect
diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index b9aed0b917..e0b33cd7b6 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -1189,6 +1189,8 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_
Node *node;
Node *old_focus;
Efl_Ui_Focus_Manager *redirect_manager;
+   Eo *focusable;
+   Node_Type type;
 
EINA_SAFETY_ON_NULL_RETURN(focus);
 
@@ -1217,11 +1219,16 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_
 
if (pd->redirect)
  {
+//reset the history of that manager
+efl_ui_focus_manager_reset_history(pd->redirect);
+
 //first unset the redirect
 efl_ui_focus_manager_redirect_set(obj, NULL);
  }
 
redirect_manager = node->redirect_manager;
+   type = node->type;
+   focusable = node->focusable;
 
if (node->type == NODE_TYPE_NORMAL)
  {
@@ -1245,18 +1252,31 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_
 efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, 
focusable);
 node = NULL;
  }
-   else if (node->redirect_manager)
- {
-Efl_Ui_Focus_Object *root;
-
-root = efl_ui_focus_manager_root_get(node->redirect_manager);
-efl_ui_focus_manager_focus_set(node->redirect_manager, root);
- }
 
//now check if this is also a listener object
if (redirect_manager)
  {
+efl_ui_focus_manager_reset_history(pd->redirect);
+
+//first set the redirect
 efl_ui_focus_manager_redirect_set(obj, redirect_manager);
+
+if (type == NODE_TYPE_ONLY_LOGICAL)
+  {
+ //focus the root to just get the next regular element
+ //FIXME it would be good to make that depending on the focus move 
directions
+ //so we can take the last regular item in the logical tree for 
the PREVIOUS move
+ Efl_Ui_Focus_Object *root;
+
+ root = efl_ui_focus_manager_root_get(redirect_manager);
+ efl_ui_focus_manager_focus_set(redirect_manager, root);
+  }
+else
+  {
+ //or just focus the focusable itself in the other manager
+ efl_ui_focus_manager_focus_set(redirect_manager, focusable);
+  }
+
  }
 }
 
@@ -1456,4 +1476,18 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_logical_end(Eo *obj EINA_UNUSED,
 
   return child ? child->focusable : NULL;
 }
+
+EOLIAN static void
+_efl_ui_focus_manager_calc_efl_ui_focus_manager_reset_history(Eo *obj 
EINA_UNUSED, Efl_Ui_Focus_Manager_Calc_Data *pd)
+{
+  Node *last;
+
+  if (!pd->focus_stack) return;
+
+  last = eina_list_last_data_get(pd->focus_stack);
+  efl_ui_focus_object_focus_set(last->focusable, EINA_FALSE);
+
+  pd->focus_stack = eina_list_free(pd->focus_stack);
+}
+
 #include "efl_ui_focus_manager_calc.eo.c"
diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.eo 
b/src/lib/elementary/efl_ui_focus_manager_calc.eo
index fec5875f4a..2b78b259ac 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.eo
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.eo
@@ -98,6 +98,7 @@ class Efl.Ui.Focus.Manager.Calc (Efl.Object, 
Efl.Ui.Focus.Manager) {
 Efl.Ui.Focus.Manager.root {set; get;}
 Efl.Ui.Focus.Manager.fetch;
 Efl.Ui.Focus.Manager.logical_end;
+

Re: [E-devel] [EGIT] [core/enlightenment] master 01/01: e client focus - fix focus if moving focused window to new desk

2017-08-30 Thread Mike Blumenkrantz
On Wed, Aug 30, 2017 at 3:14 AM Carsten Haitzler 
wrote:

> raster pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/enlightenment.git/commit/?id=418319fc942a2c9204c8ec1d3d9e9bb1bbfb83fa
>
> commit 418319fc942a2c9204c8ec1d3d9e9bb1bbfb83fa
> Author: Carsten Haitzler (Rasterman) 
> Date:   Wed Aug 30 16:13:50 2017 +0900
>
> e client focus - fix focus if moving focused window to new desk
>
> if the window being moved to a new desktop is focused, then ensure
> after the move to restore focus to the last focused in the focus stack
> for this desk to something stays focused.
>
> @fix
>

What scenario is this attempting to resolve? There are cases where moving a
focused client off the active desk should not result in another client
being focused.


> ---
>  src/bin/e_client.c | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/bin/e_client.c b/src/bin/e_client.c
> index d3dc6bdef..414220422 100644
> --- a/src/bin/e_client.c
> +++ b/src/bin/e_client.c
> @@ -2805,6 +2805,7 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
>  {
> E_Event_Client_Desk_Set *ev;
> E_Desk *old_desk;
> +   Eina_Bool was_focused = ec->focused;
>

This is a forward null dereference and will create a new coverity issue.


>
> E_OBJECT_CHECK(ec);
> E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
> @@ -2872,6 +2873,11 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
>   e_client_res_change_geometry_restore(ec);
>   ec->pre_res_change.valid = 0;
>}
> +if (was_focused)
> +  {
> + E_Client *ec_focus = e_desk_last_focused_focus(old_desk);
>

This function already performs a focus set where possible.


> + if (ec_focus) e_client_focus_set_with_pointer(ec_focus);
>

Manually forcing focus after the above function guarantees more focus bugs,
see 81a797a0fa1dbe3c979c97351b714e4b5a8024ee.


> +  }
>   }
>
> if (ec->stack.prev || ec->stack.next)
>
> --
>
>
>
Overall, it seems to me like this is not an ideal change and that focus
setting should be performed independently of this function in order to
avoid creating more bugs.
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: eolian: @extern for function pointers

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4a16e1d86253ce336464f26ee9244f25511cb8bb

commit 4a16e1d86253ce336464f26ee9244f25511cb8bb
Author: Daniel Kolesa 
Date:   Wed Aug 30 16:02:30 2017 +0200

eolian: @extern for function pointers
---
 src/lib/eolian/eo_parser.c | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index 7e40cb7d47..24585977c0 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1383,7 +1383,9 @@ end:
 static Eolian_Typedecl*
 parse_function_pointer(Eo_Lexer *ls)
 {
-   int line, col;
+   int bline, bcol;
+   int line = ls->line_number, col = ls->column;
+
Eolian_Typedecl *def = push_typedecl(ls);
Eina_Strbuf *buf = push_strbuf(ls);
Eolian_Function *meth = NULL;
@@ -1394,13 +1396,13 @@ parse_function_pointer(Eo_Lexer *ls)
  has_beta   = EINA_FALSE;
 
eo_lexer_get(ls);
-   parse_name(ls, buf);
 
def->type = EOLIAN_TYPEDECL_FUNCTION_POINTER;
-   def->is_extern = EINA_FALSE;
-
-   FILL_BASE(def->base, ls, ls->line_number, ls->column);
+   def->is_extern = (ls->t.kw == KW_at_extern);
+   if (def->is_extern)
+ eo_lexer_get(ls);
 
+   parse_name(ls, buf);
_fill_name(eina_stringshare_add(eina_strbuf_string_get(buf)),
>full_name, >name, >namespaces);
 
@@ -1411,7 +1413,6 @@ parse_function_pointer(Eo_Lexer *ls)
meth->type = EOLIAN_FUNCTION_POINTER;
meth->get_scope = meth->set_scope = EOLIAN_SCOPE_PUBLIC;
meth->name = eina_stringshare_ref(def->name);
-   FILL_BASE(meth->base, ls, ls->line_number, ls->column);
 
def->function_pointer = meth;
 
@@ -1431,8 +1432,8 @@ parse_function_pointer(Eo_Lexer *ls)
 goto body;
  }
 body:
-   line = ls->line_number;
-   col = ls->column;
+   bline = ls->line_number;
+   bcol = ls->column;
check_next(ls, '{');
FILL_DOC(ls, def, doc);
for (;;) switch (ls->t.kw)
@@ -1455,8 +1456,10 @@ body:
 goto end;
  }
 end:
-   check_match(ls, '}', '{', line, col);
+   check_match(ls, '}', '{', bline, bcol);
check_next(ls, ';');
+   FILL_BASE(def->base, ls, line, col);
+   FILL_BASE(meth->base, ls, line, col);
return def;
 }
 

-- 




[EGIT] [core/efl] master 01/01: eolian: clean up and fix function pointer generation

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2071bbe8fb6efedef6cfa3ec1ad3df398c42727f

commit 2071bbe8fb6efedef6cfa3ec1ad3df398c42727f
Author: Daniel Kolesa 
Date:   Wed Aug 30 15:45:20 2017 +0200

eolian: clean up and fix function pointer generation

Out/inout params are now correctly handled.
---
 src/bin/eolian/headers.c   | 16 
 src/bin/eolian/headers.h   |  1 +
 src/bin/eolian/types.c | 21 +++--
 src/tests/eolian/data/function_types_ref.h |  2 +-
 4 files changed, 13 insertions(+), 27 deletions(-)

diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index a0c6879441..90fc1ea611 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -11,8 +11,8 @@ _get_add_star(Eolian_Function_Type ftype, 
Eolian_Parameter_Dir pdir)
return "";
 }
 
-int
-eo_gen_type_c_params_gen(Eina_Strbuf *buf, Eolian_Function_Parameter *pr, 
Eolian_Function_Type ftype, int *rpid)
+static int
+_gen_param(Eina_Strbuf *buf, Eolian_Function_Parameter *pr, 
Eolian_Function_Type ftype, int *rpid)
 {
const Eolian_Type *prt = eolian_parameter_type_get(pr);
const Eolian_Typedecl *ptd = eolian_type_typedecl_get(prt);
@@ -38,8 +38,8 @@ eo_gen_type_c_params_gen(Eina_Strbuf *buf, 
Eolian_Function_Parameter *pr, Eolian
return 1;
 }
 
-static void
-_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int 
*nidx, Eolian_Function_Type ftype)
+void
+eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int 
*nidx, Eolian_Function_Type ftype)
 {
Eolian_Function_Parameter *pr;
EINA_ITERATOR_FOREACH(itr, pr)
@@ -47,9 +47,9 @@ _gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf 
**flagbuf, int *ni
 int rpid = 0;
 if (*nidx)
   eina_strbuf_append(buf, ", ");
-*nidx += eo_gen_type_c_params_gen(buf, pr, ftype, );
+*nidx += _gen_param(buf, pr, ftype, );
 
-if (!eolian_parameter_is_nonull(pr))
+if (!eolian_parameter_is_nonull(pr) || !flagbuf)
   continue;
 
 if (!*flagbuf)
@@ -139,7 +139,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function 
*fid,
   eina_strbuf_append(buf, "Eo *obj");
  }
 
-   _gen_params(eolian_property_keys_get(fid, ftype), buf, , , 
EOLIAN_PROPERTY);
+   eo_gen_params(eolian_property_keys_get(fid, ftype), buf, , , 
EOLIAN_PROPERTY);
 
if (!var_as_ret)
  {
@@ -148,7 +148,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function 
*fid,
   itr = eolian_property_values_get(fid, ftype);
 else
   itr = eolian_function_parameters_get(fid);
-_gen_params(itr, buf, , , ftype);
+eo_gen_params(itr, buf, , , ftype);
  }
 
if (flagbuf)
diff --git a/src/bin/eolian/headers.h b/src/bin/eolian/headers.h
index e45d851da5..56e4b4ffdf 100644
--- a/src/bin/eolian/headers.h
+++ b/src/bin/eolian/headers.h
@@ -3,6 +3,7 @@
 
 #include "main.h"
 
+void eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf 
**flagbuf, int *nidx, Eolian_Function_Type ftype);
 void eo_gen_header_gen(const Eolian_Unit *src, const Eolian_Class *cl, 
Eina_Strbuf *buf, Eina_Bool legacy);
 
 #endif
diff --git a/src/bin/eolian/types.c b/src/bin/eolian/types.c
index c856d7abba..ec06c81869 100644
--- a/src/bin/eolian/types.c
+++ b/src/bin/eolian/types.c
@@ -1,4 +1,5 @@
 #include "main.h"
+#include "headers.h"
 #include "docs.h"
 
 static Eina_Strbuf *
@@ -157,24 +158,8 @@ _type_generate(const Eolian_Unit *src, const 
Eolian_Typedecl *tp,
 
/* Parameters */
eina_strbuf_append(buf, "(void *data");
-   Eina_Iterator *params = eolian_function_parameters_get(fid);
-   const Eolian_Function_Parameter *param = NULL;
-   EINA_ITERATOR_FOREACH(params, param)
- {
-const Eolian_Typedecl *ptd = 
eolian_type_typedecl_get(eolian_parameter_type_get(param));
-Eina_Stringshare *pn = eolian_parameter_name_get(param);
-Eina_Stringshare *pt = 
eolian_type_c_type_get(eolian_parameter_type_get(param), EOLIAN_C_TYPE_PARAM);
-
-if (!pn)
-  pn = ""; // FIXME add some kind of param1/param2 control for 
null?
-
-if (ptd && eolian_typedecl_type_get(ptd) == 
EOLIAN_TYPEDECL_FUNCTION_POINTER)
-  eina_strbuf_append_printf(buf, ", void *%s_data, %s %s, 
Eina_Free_Cb %s_free_cb",
-pn, pt, pn, pn);
-else
-  eina_strbuf_append_printf(buf, ", %s %s", pt, pn);
-
- }
+   int nidx = 1;
+   eo_gen_params(eolian_function_parameters_get(fid), buf, NULL, 
, EOLIAN_FUNCTION_POINTER);
eina_strbuf_append(buf, ")");
 
break;
diff --git a/src/tests/eolian/data/function_types_ref.h 

Re: [E-devel] [EGIT] [core/efl] master 06/09: eina: Add convenience eina_rectangle_equal

2017-08-30 Thread Gustavo Sverzut Barbieri
On Wed, Aug 30, 2017 at 5:29 AM, Jean-Philippe ANDRÉ  wrote:
> jpeg pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=4a6b52465df25a671f6298650182900e2f1407da
>
> commit 4a6b52465df25a671f6298650182900e2f1407da
> Author: Jean-Philippe Andre 
> Date:   Wed Aug 30 13:55:47 2017 +0900
>
> eina: Add convenience eina_rectangle_equal
>
> @feature
> ---
>  src/lib/eina/eina_inline_rectangle.x |  7 +++
>  src/lib/eina/eina_rectangle.h| 14 ++
>  2 files changed, 21 insertions(+)
>
> diff --git a/src/lib/eina/eina_inline_rectangle.x 
> b/src/lib/eina/eina_inline_rectangle.x
> index af257495eb..a6a07a43ed 100644
> --- a/src/lib/eina/eina_inline_rectangle.x
> +++ b/src/lib/eina/eina_inline_rectangle.x
> @@ -48,6 +48,13 @@ eina_rectangle_coords_from(Eina_Rectangle *r, int x, int 
> y, int w, int h)
>  }
>
>  static inline Eina_Bool
> +eina_rectangle_equal(const Eina_Rectangle *rect1, const Eina_Rectangle 
> *rect2)
> +{
> +   return ((rect1->x == rect2->x) && (rect1->y == rect2->y) &&
> +   (rect1->w == rect2->w) && (rect1->h == rect2->h));
> +}

do these on stack values, not pointers... because you can avoid any
change of segfault in this code.

Users can easily do "*r" if they have a pointer, however they will
likely not, just a value.

Same for modifying operations, get on stack, return on stack, so this
is possible:

r = eina_rectangle_move(r, 10, 10);



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/03: eolian gen: clean up param gen

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=93c93328ac8390bea8039b023950290cc3750080

commit 93c93328ac8390bea8039b023950290cc3750080
Author: Daniel Kolesa 
Date:   Wed Aug 30 15:12:01 2017 +0200

eolian gen: clean up param gen
---
 src/bin/eolian/headers.c | 134 +++
 1 file changed, 54 insertions(+), 80 deletions(-)

diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index 71d66f3d65..a0c6879441 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -11,6 +11,58 @@ _get_add_star(Eolian_Function_Type ftype, 
Eolian_Parameter_Dir pdir)
return "";
 }
 
+int
+eo_gen_type_c_params_gen(Eina_Strbuf *buf, Eolian_Function_Parameter *pr, 
Eolian_Function_Type ftype, int *rpid)
+{
+   const Eolian_Type *prt = eolian_parameter_type_get(pr);
+   const Eolian_Typedecl *ptd = eolian_type_typedecl_get(prt);
+   const char *prn = eolian_parameter_name_get(pr);
+   Eina_Stringshare *prtn = eolian_type_c_type_get(prt, EOLIAN_C_TYPE_PARAM);
+
+   if (ptd && (eolian_typedecl_type_get(ptd) == 
EOLIAN_TYPEDECL_FUNCTION_POINTER))
+ {
+eina_strbuf_append_printf(buf, "void *%s_data, %s %s, Eina_Free_Cb 
%s_free_cb",
+  prn, prtn, prn, prn);
+eina_stringshare_del(prtn);
+*rpid = 1;
+return 3;
+ }
+
+   eina_strbuf_append(buf, prtn);
+   if (prtn[strlen(prtn) - 1] != '*')
+ eina_strbuf_append_char(buf, ' ');
+   eina_strbuf_append(buf, _get_add_star(ftype, 
eolian_parameter_direction_get(pr)));
+   eina_strbuf_append(buf, prn);
+   eina_stringshare_del(prtn);
+   *rpid = 0;
+   return 1;
+}
+
+static void
+_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int 
*nidx, Eolian_Function_Type ftype)
+{
+   Eolian_Function_Parameter *pr;
+   EINA_ITERATOR_FOREACH(itr, pr)
+ {
+int rpid = 0;
+if (*nidx)
+  eina_strbuf_append(buf, ", ");
+*nidx += eo_gen_type_c_params_gen(buf, pr, ftype, );
+
+if (!eolian_parameter_is_nonull(pr))
+  continue;
+
+if (!*flagbuf)
+  {
+ *flagbuf = eina_strbuf_new();
+ eina_strbuf_append_printf(*flagbuf, " EINA_ARG_NONNULL(%d", *nidx 
- rpid);
+  }
+else
+  eina_strbuf_append_printf(*flagbuf, ", %d", *nidx - rpid);
+ }
+   eina_iterator_free(itr);
+}
+
 static void
 _gen_func(const Eolian_Unit *src, const Eolian_Function *fid,
   Eolian_Function_Type ftype, Eina_Strbuf *buf, char *cname,
@@ -70,7 +122,6 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function *fid,
eina_strbuf_append(buf, fcn);
eina_stringshare_del(fcn);
 
-   Eina_Bool first = EINA_TRUE;
Eina_Strbuf *flagbuf = NULL;
int nidx = !legacy || !eolian_function_is_class(fid);
 
@@ -86,35 +137,9 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function 
*fid,
   eina_strbuf_append_printf(buf, "%s *obj", cname);
 else
   eina_strbuf_append(buf, "Eo *obj");
-first = EINA_FALSE;
  }
 
-   {
-  Eolian_Function_Parameter *pr = NULL;
-  Eina_Iterator *itr = eolian_property_keys_get(fid, ftype);
-  EINA_ITERATOR_FOREACH(itr, pr)
-{
-   const Eolian_Type *prt = eolian_parameter_type_get(pr);
-   const char *prn = eolian_parameter_name_get(pr);
-   Eina_Stringshare *prtn = eolian_type_c_type_get(prt, 
EOLIAN_C_TYPE_PARAM);
-   ++nidx;
-   if (!first)
- eina_strbuf_append(buf, ", ");
-   eina_strbuf_append_printf(buf, "%s %s", prtn, prn);
-   eina_stringshare_del(prtn);
-   first = EINA_FALSE;
-   if (!eolian_parameter_is_nonull(pr))
- continue;
-   if (!flagbuf)
- {
-flagbuf = eina_strbuf_new();
-eina_strbuf_append_printf(flagbuf, " EINA_ARG_NONNULL(%d", 
nidx);
- }
-   else
- eina_strbuf_append_printf(flagbuf, ", %d", nidx);
-}
-  eina_iterator_free(itr);
-   }
+   _gen_params(eolian_property_keys_get(fid, ftype), buf, , , 
EOLIAN_PROPERTY);
 
if (!var_as_ret)
  {
@@ -123,58 +148,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Function 
*fid,
   itr = eolian_property_values_get(fid, ftype);
 else
   itr = eolian_function_parameters_get(fid);
-
-Eolian_Function_Parameter *pr = NULL;
-EINA_ITERATOR_FOREACH(itr, pr)
-  {
- const Eolian_Type *prt = eolian_parameter_type_get(pr);
- const Eolian_Typedecl *ptd = eolian_type_typedecl_get(prt);
- const char *prn = eolian_parameter_name_get(pr);
- Eina_Stringshare *prtn = eolian_type_c_type_get(prt, 
EOLIAN_C_TYPE_PARAM);
-
- if (ptd && eolian_typedecl_type_get(ptd) == 
EOLIAN_TYPEDECL_FUNCTION_POINTER)
-   {
-  nidx += 3;
-   

[EGIT] [core/efl] master 03/03: efl interfaces: fix incorrect enum val

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=af6713ebb464fe264e553542c0a6cbf545e8052f

commit af6713ebb464fe264e553542c0a6cbf545e8052f
Author: Daniel Kolesa 
Date:   Wed Aug 30 15:34:31 2017 +0200

efl interfaces: fix incorrect enum val
---
 src/lib/efl/interfaces/efl_orientation.eo  | 2 +-
 src/lib/elementary/elm_interface_scrollable.eo | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_orientation.eo 
b/src/lib/efl/interfaces/efl_orientation.eo
index 8ed69aac55..1b42b320e6 100644
--- a/src/lib/efl/interfaces/efl_orientation.eo
+++ b/src/lib/efl/interfaces/efl_orientation.eo
@@ -28,7 +28,7 @@ interface Efl.Orientation
instance.
  ]]
  values {
-dir: Efl.Orient(none); [[The rotation angle (CCW), see 
@Efl.Orient.]]
+dir: Efl.Orient(Efl.Orient.none); [[The rotation angle (CCW), see 
@Efl.Orient.]]
  }
   }
}
diff --git a/src/lib/elementary/elm_interface_scrollable.eo 
b/src/lib/elementary/elm_interface_scrollable.eo
index c953ab8bf7..0f782eb50f 100644
--- a/src/lib/elementary/elm_interface_scrollable.eo
+++ b/src/lib/elementary/elm_interface_scrollable.eo
@@ -101,7 +101,7 @@ mixin Elm.Interface_Scrollable(Efl.Ui.Scrollable, 
Efl.Canvas.Group, Efl.Ui.Focus
with regard to scrolling.
  ]]
  values {
-block: Efl.Ui.Scroll_Block(none); [[Which axis (or axes) to block]]
+block: Efl.Ui.Scroll_Block(Efl.Ui.Scroll_Block.none); [[Which axis 
(or axes) to block]]
  }
   }
   @property momentum_animator_disabled {

-- 




[EGIT] [core/efl] master 01/03: eolian: remove unused variable

2017-08-30 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fd93caf4b224928d139314876f4c269578c3a7b6

commit fd93caf4b224928d139314876f4c269578c3a7b6
Author: Daniel Kolesa 
Date:   Wed Aug 30 13:53:22 2017 +0200

eolian: remove unused variable
---
 src/lib/eolian/eo_parser.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c
index d54172829b..7e40cb7d47 100644
--- a/src/lib/eolian/eo_parser.c
+++ b/src/lib/eolian/eo_parser.c
@@ -1388,11 +1388,10 @@ parse_function_pointer(Eo_Lexer *ls)
Eina_Strbuf *buf = push_strbuf(ls);
Eolian_Function *meth = NULL;
 
-   Eina_Bool has_const   = EINA_FALSE,
- has_params  = EINA_FALSE,
- has_return  = EINA_FALSE,
- has_c_only  = EINA_FALSE,
- has_beta= EINA_FALSE;
+   Eina_Bool has_params = EINA_FALSE,
+ has_return = EINA_FALSE,
+ has_c_only = EINA_FALSE,
+ has_beta   = EINA_FALSE;
 
eo_lexer_get(ls);
parse_name(ls, buf);

-- 




Re: [E-devel] [EGIT] [core/efl] master 12/14: widget: Simplify code with rectangle (EO)

2017-08-30 Thread Gustavo Sverzut Barbieri
On Tue, Aug 29, 2017 at 11:27 PM, Jean-Philippe André  wrote:
> 2017-08-30 10:49 GMT+09:00 Jean-Philippe André :
>
>>
>>
>> 2017-08-29 22:04 GMT+09:00 Gustavo Sverzut Barbieri :
>>
>>> On Tue, Aug 29, 2017 at 4:29 AM, Jean-Philippe ANDRÉ 
>>> wrote:
>>> > jpeg pushed a commit to branch master.
>>> >
>>> > http://git.enlightenment.org/core/efl.git/commit/?id=233068c
>>> 30c90c7cafbdcd7108f78ea0d353d26ad
>>> >
>>> > commit 233068c30c90c7cafbdcd7108f78ea0d353d26ad
>>> > Author: Jean-Philippe Andre 
>>> > Date:   Tue Aug 29 14:29:45 2017 +0900
>>> >
>>> > widget: Simplify code with rectangle (EO)
>>> >
>>> > This replaces x,y,w,h with a rectangle in parts of the focus_region
>>> > code.
>>> >
>>> > Ref T5363
>>> > ---
>>> >  src/lib/elementary/efl_ui_text.c | 14 +++---
>>> >  src/lib/elementary/elm_conform.c | 10 +-
>>> >  src/lib/elementary/elm_entry.c   | 22 --
>>> >  src/lib/elementary/elm_gengrid.c | 11 ++-
>>> >  src/lib/elementary/elm_panel.c   | 15 +--
>>> >  src/lib/elementary/elm_widget.c  | 30 --
>>> >  src/lib/elementary/elm_widget.eo |  8 +++-
>>> >  src/lib/elementary/elm_widget.h  |  2 +-
>>> >  8 files changed, 51 insertions(+), 61 deletions(-)
>>> >
>>> > diff --git a/src/lib/elementary/efl_ui_text.c
>>> b/src/lib/elementary/efl_ui_text.c
>>> > index dc3fadb605..46da72ea5e 100644
>>> > --- a/src/lib/elementary/efl_ui_text.c
>>> > +++ b/src/lib/elementary/efl_ui_text.c
>>> > @@ -1203,28 +1203,28 @@ _efl_ui_text_elm_widget_on_focus(Eo *obj,
>>> Efl_Ui_Text_Data *sd, Elm_Object_Item
>>> >  }
>>> >
>>> >  EOLIAN static Eina_Bool
>>> > -_efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED,
>>> Efl_Ui_Text_Data *sd, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w,
>>> Evas_Coord *h)
>>> > +_efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED,
>>> Efl_Ui_Text_Data *sd, Eina_Rectangle *r)
>>> >  {
>>> > Evas_Coord edje_x, edje_y, elm_x, elm_y;
>>> >
>>> > +   EINA_SAFETY_ON_NULL_RETURN_VAL(r, EINA_FALSE);
>>> > efl_text_cursor_geometry_get(obj,
>>> >   efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN),
>>> >   EFL_TEXT_CURSOR_TYPE_BEFORE,
>>> > - x, y, w, h,
>>> > + >x, >y, >w, >h,
>>>
>>> these API should change to return a Eina_Rectangle on the stack, much
>>> simpler... also set could receive it as parameter:
>>>
>>> Eina_Rectanle r = efl_text_cursor_geometry_get(o, ...);
>>> r = eina_rectangle_move(r, +10, -10);
>>> efl_text_..._geometry_set(o, ..., r);
>>
>>
>> In this case there is a bool return value as well. That bool is required
>> for the logic.
>> I considered returning on the stack and using w<=0 or h<=0 as equivalent
>> to "false" return, but didn't do it to make sure the logic remains the
>> same. This might still be doable in a later patch.
>>
>
> Actually I will do and test just that.
>
> Besides that, I think we need an int 2d vector type. Right now we have:
>
> Eina_Rectangle { int x,y,w,h; }
> Eina_Vector2  { double x,y; }
> Evas_Coord_Size { int w,h; }
> Evas_Coord_Point { int x,y; }
>
> Any idea for a clear name? What comes to mind are:
> Eina_Vector2i { int x,y; }
> Eina_Size { int w,h; }
> Eina_Position { int x,y; }
>
> Anything with unions would be confusing I think.
>
> Anyway if we agree on a good 2d int type we can add a few convenience
> functions to eina_rectangle (move does not exist) and that new type, and
> then swicth all size, position and geometry APIs to those structs. I
> believe having those structs on the stack would be nicer than pointers to
> x,y,w,h (less likely to crash, all values initialized, less code, etc...)

I like your names and proposals... and I knew "move" doesn't exist...

when I did the python bindings (v1) it was all about those kind of
helpers, you could easily "center" 2 objects, align to
top-left/top-right/bottom-left/bottom-right...

I'm all for packing stuff that belongs together... together... That's
why I pushed for Eina_Slice, to make clear the 2 pointers are related.
Same for geometry/size/position... Would do the same for colors (as
someone asked the other day in the list).

Not to say that in our declarations, it's cleaner to read:

Eina_Rectangle a, b;

bla_get(, );

Than:

   int ax, ay, aw, ah, bx, by, bw, bh;

   bla_get(, , , , , , , );


(maybe you didn't notice, but there is a bug in what I wrote ;-))




-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net

[EGIT] [core/efl] master 01/01: ecore-wl2: Formatting

2017-08-30 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2ed81b0948fb3475ce1edab9177ec578c4a020e5

commit 2ed81b0948fb3475ce1edab9177ec578c4a020e5
Author: Chris Michael 
Date:   Wed Aug 30 09:04:05 2017 -0400

ecore-wl2: Formatting

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_window.c | 59 ++--
 1 file changed, 36 insertions(+), 23 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index c9e77daa53..566ea99de7 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -320,6 +320,8 @@ _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window 
*window)
   _ecore_wl2_window_zxdg_popup_create(window);
 else
   {
+ struct zxdg_toplevel_v6 *ptop = NULL;
+
  window->zxdg_toplevel =
zxdg_surface_v6_get_toplevel(window->zxdg_surface);
  zxdg_toplevel_v6_set_user_data(window->zxdg_toplevel, window);
@@ -334,15 +336,11 @@ _ecore_wl2_window_shell_surface_init(Ecore_Wl2_Window 
*window)
  window->zxdg_set_min_size = zxdg_toplevel_v6_set_min_size;
  window->zxdg_set_max_size = zxdg_toplevel_v6_set_max_size;
 
- {
-struct zxdg_toplevel_v6 *ptop = NULL;
-
-if (window->parent)
-  ptop = window->parent->zxdg_toplevel;
+ if (window->parent)
+   ptop = window->parent->zxdg_toplevel;
 
-if (ptop)
-  zxdg_toplevel_v6_set_parent(window->zxdg_toplevel, ptop);
- }
+ if (ptop)
+   zxdg_toplevel_v6_set_parent(window->zxdg_toplevel, ptop);
 
  if (window->maximized)
zxdg_toplevel_v6_set_maximized(window->zxdg_toplevel);
@@ -615,6 +613,7 @@ ecore_wl2_window_move(Ecore_Wl2_Window *window, 
Ecore_Wl2_Input *input)
 {
EINA_SAFETY_ON_NULL_RETURN(window);
EINA_SAFETY_ON_NULL_RETURN(window->display->inputs);
+
if (!input)
  input = EINA_INLIST_CONTAINER_GET(window->display->inputs, 
Ecore_Wl2_Input);
 
@@ -630,6 +629,7 @@ ecore_wl2_window_resize(Ecore_Wl2_Window *window, 
Ecore_Wl2_Input *input, int lo
 {
EINA_SAFETY_ON_NULL_RETURN(window);
EINA_SAFETY_ON_NULL_RETURN(window->display->inputs);
+
if (!input)
  input = EINA_INLIST_CONTAINER_GET(window->display->inputs, 
Ecore_Wl2_Input);
 
@@ -1053,7 +1053,6 @@ EAPI Eina_Bool
 ecore_wl2_window_shell_surface_exists(Ecore_Wl2_Window *window)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
-
return !!window->zxdg_surface;
 }
 
@@ -1310,6 +1309,7 @@ ecore_wl2_window_aux_hint_del(Ecore_Wl2_Window *win, int 
id)
if ((win->surface) && (win->display->wl.efl_aux_hints))
  efl_aux_hints_del_aux_hint(win->display->wl.efl_aux_hints, win->surface, 
id);
 }
+
 EAPI void
 ecore_wl2_window_focus_skip_set(Ecore_Wl2_Window *window, Eina_Bool focus_skip)
 {
@@ -1351,15 +1351,18 @@ ecore_wl2_window_aspect_set(Ecore_Wl2_Window *window, 
int w, int h, unsigned int
EINA_SAFETY_ON_NULL_RETURN(window);
EINA_SAFETY_ON_TRUE_RETURN(w < 1);
EINA_SAFETY_ON_TRUE_RETURN(h < 1);
-   if ((window->aspect.aspect == aspect) &&
- (window->aspect.w == w) &&
- (window->aspect.h == h)) return;
+
+   if ((window->aspect.aspect == aspect) && (window->aspect.w == w) &&
+   (window->aspect.h == h))
+ return;
+
window->aspect.w = w;
window->aspect.h = h;
window->aspect.aspect = aspect;
window->aspect.set = 1;
if (window->display->wl.efl_hints && window->zxdg_toplevel)
- efl_hints_set_aspect(window->display->wl.efl_hints, 
window->zxdg_toplevel, w, h, aspect);
+ efl_hints_set_aspect(window->display->wl.efl_hints,
+  window->zxdg_toplevel, w, h, aspect);
 }
 
 static void
@@ -1382,12 +1385,14 @@ static struct wl_callback_listener _frame_listener =
_frame_cb
 };
 
-EAPI void ecore_wl2_window_commit(Ecore_Wl2_Window *window, Eina_Bool flush)
+EAPI void
+ecore_wl2_window_commit(Ecore_Wl2_Window *window, Eina_Bool flush)
 {
EINA_SAFETY_ON_NULL_RETURN(window);
EINA_SAFETY_ON_NULL_RETURN(window->surface);
 
-   if (window->commit_pending) ERR("Commit before previous commit processed");
+   if (window->commit_pending)
+ ERR("Commit before previous commit processed");
 
window->commit_pending = EINA_TRUE;
window->callback = wl_surface_frame(window->surface);
@@ -1396,14 +1401,16 @@ EAPI void ecore_wl2_window_commit(Ecore_Wl2_Window 
*window, Eina_Bool flush)
if (flush) wl_surface_commit(window->surface);
 }
 
-EAPI Eina_Bool ecore_wl2_window_pending_get(Ecore_Wl2_Window *window)
+EAPI Eina_Bool
+ecore_wl2_window_pending_get(Ecore_Wl2_Window *window)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
 
return window->commit_pending;

[EGIT] [admin/devs] master 01/01: Add netstar as developer.

2017-08-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=ed6b3fe506f7d830abd8a7a62e10c6fc8ba348b3

commit ed6b3fe506f7d830abd8a7a62e10c6fc8ba348b3
Author: Stefan Schmidt 
Date:   Wed Aug 30 13:54:00 2017 +0200

Add netstar as developer.
---
 developers/netstar/id_rsa.pub | 1 +
 developers/netstar/info.txt   | 9 +
 2 files changed, 10 insertions(+)

diff --git a/developers/netstar/id_rsa.pub b/developers/netstar/id_rsa.pub
new file mode 100644
index 000..e36b8c2
--- /dev/null
+++ b/developers/netstar/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQCy6ImrVISkohMcwrV5itvHv6JKkEd3FWOexShSMbz6VHHKVlxDW2ReJJKqWvzb5mCFiGHU20Qnm6FH8+wxc3kjPpEdTcjPgNBWcvFeE7psHExPGvkhorlilC7GETicgszPvbw+LErsivsaBl0sPMxa+QCy7MTCToRMRvBM68/WKHH+yY1gVXHbkRLxDasXTEMAqvgfh/x4QSFR27llWb2uCKMBcUZMrMyHBymx3HlUx3D8fXYuiJ+lnb33dgVboxb5L65OPWdCFsbqwLxaad4omR/N/Sp9+fve7+VHgk90+sNf3kwqi1nV+2DW6U2x7bUkGGmU+8n1gyZwz0CYOuJT
 netstar@Workstation
diff --git a/developers/netstar/info.txt b/developers/netstar/info.txt
new file mode 100644
index 000..1e3bcc7
--- /dev/null
+++ b/developers/netstar/info.txt
@@ -0,0 +1,9 @@
+Login:netstar
+IRC Nick: netstar
+Name: Al Poole
+Location: Aberdeen, United Kingdom
+E-Mail:   nets...@gmail.com
+WWW:  http://haxlab.org
+Contributing: EFL, Enlightenment, Edi
+Group:Core, Applications, Libraries
+Platform: FreeBSD, OpenBSD, Debian (Linux), OpenSUSE (Linux)

-- 




[E-devel] Pre-release tarballs for efl 1.20.3

2017-08-30 Thread Stefan Schmidt

Hello.

I just uploaded the pre-release tarballs for 1.20.3.

If I hear nothing problematic within the next 24 hours, I will do the
final release on tomorrow.

https://download.enlightenment.org/pre-releases/efl-1.20.3-pre.tar.gz
d129a903e07afa8ef4ed57138543b679b63cfe4ff4d3904fa06203102f8e2745

https://download.enlightenment.org/pre-releases/efl-1.20.3-pre.tar.xz
1273014aff3cd313a315f6745b02958668083726d830873b681fe726b9421191

regards
Stefan Schmidt

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] efl-1.20 01/01: release: Update NEWS and bump version for 1.20.3 release

2017-08-30 Thread Stefan Schmidt
stefan pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=f6e7816e62b8fa636d8520ae34592b9a336b28a2

commit f6e7816e62b8fa636d8520ae34592b9a336b28a2
Author: Stefan Schmidt 
Date:   Wed Aug 30 12:37:54 2017 +0200

release: Update NEWS and bump version for 1.20.3 release
---
 NEWS | 35 ++-
 configure.ac |  2 +-
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index b3aebfda48..f3d708eb3e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,40 @@
 ==
-EFL 1.20.1
+EFL 1.20.3
 ==
 
+Changes since 1.20.2:
+-
+
+Fixes:
+
+   * eo: Check refs in efl_data_scope_safe_get (T5869)
+   * efl-wl: use correct accessor method for keyboard resource hash
+   * elm_widget: do not reparent subobjs to top widget for non-elm objects
+   * efl-wl: always dismiss popups on hide
+   * efl-wl: handle case where eglBindWaylandDisplay fails
+   * ecore: always set delete_me before removing fd from poll
+   * efl-wl: initialize seat keymap fd to -1
+   * ecore_evas_extn: Fix socket & plug windows
+   * elm_test: Fail nicely if plug can't connect
+   * evas: make top object returning functions return the top object
+   * theme: handle e dialog sizing when no buttons are present
+   * wayland: fix num/caps lock handling in events (T5737)
+   * elm_box: Fix support of aspect hints (T5888)
+   * edje: Fix warning message
+   * ecore-wl2: normalize axis event values (T5427)
+   * efl-wl: match nested wl seats based on display ordering
+   * elm_win: update opaque region for fake windows
+   * elm_win: check for wayland engine during finalize by checking for wl win
+   * efl_ui_image: maintain geometry for prev image while preloading new image 
(T5936)
+   * theme: fix dialog sizing when no buttons are present
+   * Canvas text: fix non-dirty paragraph width calculation (T5939)
+   * eina file - use recursive locks for cache and file to avoid deadlock
+   * eina mmap safety - only map zeropages if it's an eina file that sigbuses
+   * evas: fix invalid return of evas_textgrid_cellrow_get()
+   * access: Fix crash in ecore
+   * elm init - fix init seq and quicklaunch as we shut down x before evas
+   * photocam: Fix key zoom in/out
+
 Changes since 1.20.1:
 -
 
diff --git a/configure.ac b/configure.ac
index 76d7b88ac4..ee6c42bc21 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-EFL_VERSION([1], [20], [2], [release])
+EFL_VERSION([1], [20], [3], [release])
 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
 
 AC_PREREQ([2.60])

-- 




[EGIT] [core/efl] master 02/02: widget: Simplify & document "translate"

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f90d0d150163beb546e78c52786d6c2eb7706e8d

commit f90d0d150163beb546e78c52786d6c2eb7706e8d
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 18:47:21 2017 +0900

widget: Simplify & document "translate"

This is a protected function. It doesn't need to return anything, as all
implementation just returned true, always. Also, the legacy API was just
a wrapper doing nothing special (except verify that we have a widget,
which the recursive code already does).

Tested with fr_FR :)

Ref T5363
---
 src/lib/elementary/efl_ui_clock.c |  4 +---
 src/lib/elementary/elc_combobox.c |  4 +---
 src/lib/elementary/elc_ctxpopup.c |  4 +---
 src/lib/elementary/elc_hoversel.c |  4 +---
 src/lib/elementary/elc_multibuttonentry.c |  4 +---
 src/lib/elementary/elc_naviframe.c|  4 +---
 src/lib/elementary/elc_popup.c|  4 +---
 src/lib/elementary/elm_dayselector.c  |  6 ++
 src/lib/elementary/elm_diskselector.c |  4 +---
 src/lib/elementary/elm_list.c |  4 +---
 src/lib/elementary/elm_menu.c |  4 +---
 src/lib/elementary/elm_segment_control.c  |  4 +---
 src/lib/elementary/elm_toolbar.c  |  4 +---
 src/lib/elementary/elm_widget.c   | 13 ++---
 src/lib/elementary/elm_widget.eo  |  9 ++---
 15 files changed, 22 insertions(+), 54 deletions(-)

diff --git a/src/lib/elementary/efl_ui_clock.c 
b/src/lib/elementary/efl_ui_clock.c
index 7f3993a8e2..58ef45dae0 100644
--- a/src/lib/elementary/efl_ui_clock.c
+++ b/src/lib/elementary/efl_ui_clock.c
@@ -406,15 +406,13 @@ _reload_format(Evas_Object *obj)
_field_list_arrange(obj);
 }
 
-EOLIAN static Eina_Bool
+EOLIAN static void
 _efl_ui_clock_elm_widget_translate(Eo *obj, Efl_Ui_Clock_Data *sd)
 {
if (!sd->user_format) _reload_format(obj);
else _field_list_display(obj);
 
elm_obj_widget_translate(efl_super(obj, MY_CLASS));
-
-   return EINA_TRUE;
 }
 
 static Eina_List *
diff --git a/src/lib/elementary/elc_combobox.c 
b/src/lib/elementary/elc_combobox.c
index 0d8e36eb25..449305eaf1 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -44,7 +44,7 @@ static const Elm_Action key_actions[] = {
{NULL, NULL}
 };
 
-EOLIAN static Eina_Bool
+EOLIAN static void
 _elm_combobox_elm_widget_translate(Eo *obj EINA_UNUSED, Elm_Combobox_Data *sd)
 {
elm_obj_widget_translate(efl_super(obj, MY_CLASS));
@@ -53,8 +53,6 @@ _elm_combobox_elm_widget_translate(Eo *obj EINA_UNUSED, 
Elm_Combobox_Data *sd)
 
if (sd->hover)
  elm_obj_widget_translate(sd->hover);
-
-   return EINA_TRUE;
 }
 
 EOLIAN static Efl_Ui_Theme_Apply
diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index d80bb3ecbb..5789135d5c 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -47,7 +47,7 @@ static const Elm_Action key_actions[] = {
{NULL, NULL}
 };
 
-EOLIAN static Eina_Bool
+EOLIAN static void
 _elm_ctxpopup_elm_widget_translate(Eo *obj, Elm_Ctxpopup_Data *sd)
 {
Eina_List *l;
@@ -59,8 +59,6 @@ _elm_ctxpopup_elm_widget_translate(Eo *obj, Elm_Ctxpopup_Data 
*sd)
  elm_wdg_item_translate(it);
 
elm_obj_widget_translate(efl_super(obj, MY_CLASS));
-
-   return EINA_TRUE;
 }
 
 EOLIAN static Eina_Bool
diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index 1d2e8901d4..c4a866197e 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -48,7 +48,7 @@ static const Elm_Action key_actions[] = {
{NULL, NULL}
 };
 
-EOLIAN static Eina_Bool
+EOLIAN static void
 _elm_hoversel_elm_widget_translate(Eo *obj EINA_UNUSED, Elm_Hoversel_Data *sd)
 {
Eo *it;
@@ -58,8 +58,6 @@ _elm_hoversel_elm_widget_translate(Eo *obj EINA_UNUSED, 
Elm_Hoversel_Data *sd)
  elm_wdg_item_translate(it);
 
elm_obj_widget_translate(efl_super(obj, MY_CLASS));
-
-   return EINA_TRUE;
 }
 
 EOLIAN static Efl_Ui_Theme_Apply
diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index 9ed9707053..29fceec399 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -64,7 +64,7 @@ EFL_CALLBACKS_ARRAY_DEFINE(_multi_buttonentry_cb,
{ EFL_UI_EVENT_CLICKED, _entry_clicked_cb }
 );
 
-EOLIAN static Eina_Bool
+EOLIAN static void
 _elm_multibuttonentry_elm_widget_translate(Eo *obj EINA_UNUSED, 
Elm_Multibuttonentry_Data *sd)
 {
Elm_Object_Item *it;
@@ -74,8 +74,6 @@ _elm_multibuttonentry_elm_widget_translate(Eo *obj 
EINA_UNUSED, Elm_Multibuttone
  elm_wdg_item_translate(it);
 
elm_obj_widget_translate(efl_super(obj, MY_CLASS));
-
-   return EINA_TRUE;
 }
 
 static char *
diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index 

[EGIT] [core/efl] master 01/02: widget: Remove part_text from EO

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a2729d119d941090eed0148074f6da5eb638b720

commit a2729d119d941090eed0148074f6da5eb638b720
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 18:14:29 2017 +0900

widget: Remove part_text from EO

It should be implemented as a efl_part() API.

For now I've only done a quick hack, as the only overrides were:

 - notify: already a Part implementation. Also it turns out the default
   theme does not even have any text part in the notify group.

 - combobox: not a Part implementation, but also very badly defined wrt.
   parts in general. efl_part() is handled by the parent class (button)
   which makes it tricky to override just for one function.

With this patch I'm trying to keep the same behaviour as earlier (where
efl_part() is used for layouts and there is a special path for
combobox).

Ref T5363
---
 src/lib/elementary/elc_combobox.c  | 16 ++--
 src/lib/elementary/elm_combobox.eo |  2 +-
 src/lib/elementary/elm_notify.c| 12 
 src/lib/elementary/elm_notify.eo   |  1 -
 src/lib/elementary/elm_notify_internal_part.eo |  3 ++-
 src/lib/elementary/elm_priv.h  |  4 
 src/lib/elementary/elm_widget.c| 26 --
 src/lib/elementary/elm_widget.eo   |  9 -
 8 files changed, 41 insertions(+), 32 deletions(-)

diff --git a/src/lib/elementary/elc_combobox.c 
b/src/lib/elementary/elc_combobox.c
index 7a7849924c..0d8e36eb25 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -521,17 +521,21 @@ _elm_combobox_elm_genlist_filter_set(Eo *obj EINA_UNUSED, 
Elm_Combobox_Data *pd,
elm_obj_genlist_filter_set(pd->genlist, key);
 }
 
-EOLIAN void
-_elm_combobox_elm_widget_part_text_set(Eo *obj EINA_UNUSED, Elm_Combobox_Data 
*pd,
-   const char * part, const char *label)
+// FIXME: Combobox part API is badly defined. Efl.Part should be reimplemented
+// properly, but this will be tricky: how to set "guide" on the "entry" part?
+void
+_elm_combobox_part_text_set(Eo *obj, const char * part, const char *label)
 {
+   Elm_Combobox_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!pd) return;
elm_object_part_text_set(pd->entry, part, label);
 }
 
-EOLIAN const char *
-_elm_combobox_elm_widget_part_text_get(Eo *obj EINA_UNUSED, Elm_Combobox_Data 
*pd,
-   const char * part)
+const char *
+_elm_combobox_part_text_get(const Eo *obj, const char *part)
 {
+   Elm_Combobox_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!pd) return NULL;
return elm_object_part_text_get(pd->entry, part);
 }
 
diff --git a/src/lib/elementary/elm_combobox.eo 
b/src/lib/elementary/elm_combobox.eo
index d4633a11d5..a0f106bd41 100644
--- a/src/lib/elementary/elm_combobox.eo
+++ b/src/lib/elementary/elm_combobox.eo
@@ -39,13 +39,13 @@ class Elm.Combobox (Efl.Ui.Button, Efl.Ui.Selectable,
   Efl.Object.constructor;
   Efl.Gfx.visible { set; }
   Efl.Gfx.size { set; }
-  Elm.Widget.part_text { get; set; }
   Elm.Widget.theme_apply;
   Elm.Widget.translate;
   Elm.Widget.widget_event;
   Efl.Ui.Autorepeat.autorepeat_supported { get; }
   Elm.Genlist.filter { set; }
   Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
+  //Efl.Part.part; // TODO?
}
events {
   dismissed; [[Called when combobox was dismissed]]
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 8c4958b4c7..3a101e1a93 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -160,14 +160,16 @@ _elm_notify_elm_widget_theme_apply(Eo *obj, 
Elm_Notify_Data *sd)
return int_ret;
 }
 
-EOLIAN static void
-_elm_notify_elm_widget_part_text_set(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd, 
const char *part, const char *label)
+/* Legacy compat. Note that notify has no text parts in the default theme... */
+static void
+_elm_notify_text_set(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd, const char 
*part, const char *label)
 {
edje_object_part_text_set(sd->notify, part, label);
 }
 
-EOLIAN static const char*
-_elm_notify_elm_widget_part_text_get(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd, 
const char *part)
+/* Legacy compat. Note that notify has no text parts in the default theme... */
+static const char*
+_elm_notify_text_get(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd, const char 
*part)
 {
return edje_object_part_text_get(sd->notify, part);
 }
@@ -739,6 +741,8 @@ _elm_notify_class_constructor(Efl_Class *klass)
 /* Efl.Part begin */
 
 ELM_PART_IMPLEMENT(elm_notify, ELM_NOTIFY, Elm_Notify_Data, Elm_Part_Data)
+ELM_PART_IMPLEMENT_TEXT_SET(elm_notify, ELM_NOTIFY, Elm_Notify_Data, 
Elm_Part_Data)

Re: [E-devel] Committer access proposal for netstar

2017-08-30 Thread Al Poole
Thanks all :)

On Wed, Aug 30, 2017 at 7:45 AM, Stefan Schmidt 
wrote:

> Hello.
>
> On 08/29/2017 11:56 AM, Stefan Schmidt wrote:
>
>> Hello.
>>
>> I would like to propose commit access for netstar.
>>
>> He has been active for a long time now. Contributing code for Edi, E and
>> efl, etc. Next to this he is also helping with making sure our code keeps
>> working on *BSD systems and he actively helps on IRC and the list.
>>
>> I think he has reached the level where we should entrust him with full
>> commit access.
>>
>> Opinions?
>>
>
> Only positive feedback.
>
> Al, please send me your public key and info.txt
>
>
> regards
> Stefan Schmidt
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 05/09: widget: Remove scroll_lock from EO

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6bb9f4fd16a279f0e04156f8e2a64bfb65e83ca4

commit 6bb9f4fd16a279f0e04156f8e2a64bfb65e83ca4
Author: Jean-Philippe Andre 
Date:   Tue Aug 29 18:15:33 2017 +0900

widget: Remove scroll_lock from EO

1. Uniformize the API, which is now for internal use:
   This uses the same enum as scroller "movement_block" instead
   of 2 separate properties. Less APIs, more consistence.

2. Remove scroll_lock x/y from EO widget. I was told it is not going to
   exist in the upcoming scrollable interface.

3. Remove scroll hold/freeze getters.
   scroll hold/freeze push/pop are still there but it remains to be seen
   how the EO scrollable interface will exploit them. Right now they are
   full of bugs.

Ref T5363
---
 src/lib/elementary/elm_interface_scrollable.c | 14 +++---
 src/lib/elementary/elm_main.c | 24 +--
 src/lib/elementary/elm_widget.c   | 62 ---
 src/lib/elementary/elm_widget.eo  | 24 ---
 src/lib/elementary/elm_widget.h   |  6 +--
 5 files changed, 65 insertions(+), 65 deletions(-)

diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 718417e2be..6b10a029cf 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -2144,10 +2144,7 @@ _elm_scroll_post_event_up(void *data,
if (sid->obj)
  {
 if (sid->down.dragged)
-  {
- elm_widget_scroll_lock_x_set(sid->obj, EINA_FALSE);
- elm_widget_scroll_lock_y_set(sid->obj, EINA_FALSE);
-  }
+  elm_widget_scroll_lock_set(sid->obj, EFL_UI_SCROLL_BLOCK_NONE);
  }
return EINA_FALSE;
 }
@@ -2959,11 +2956,13 @@ _elm_scroll_post_event_move(void *data,
 Evas *e EINA_UNUSED)
 {
Elm_Scrollable_Smart_Interface_Data *sid = data;
+   Efl_Ui_Scroll_Block block;
Eina_Bool horiz, vert;
int start = 0;
 
if (!sid->down.want_dragged) return EINA_TRUE;
 
+   block = elm_widget_scroll_lock_get(sid->obj);
_elm_widget_parents_bounce_get(sid->obj, , );
if (sid->down.hold_parent)
  {
@@ -2990,7 +2989,8 @@ _elm_scroll_post_event_move(void *data,
   sid->down.dragged = EINA_TRUE;
   if (sid->obj)
 {
-   elm_widget_scroll_lock_x_set(sid->obj, 1);
+   block |= EFL_UI_SCROLL_BLOCK_HORIZONTAL;
+   elm_widget_scroll_lock_set(sid->obj, block);
 }
   start = 1;
}
@@ -3012,8 +3012,8 @@ _elm_scroll_post_event_move(void *data,
   sid->down.dragged = EINA_TRUE;
   if (sid->obj)
 {
-   elm_widget_scroll_lock_y_set
-  (sid->obj, EINA_TRUE);
+   block |= EFL_UI_SCROLL_BLOCK_VERTICAL;
+   elm_widget_scroll_lock_set(sid->obj, block);
 }
   start = 1;
}
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index c82d1de08b..4752d307b1 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1815,30 +1815,46 @@ EAPI void
 elm_object_scroll_lock_x_set(Evas_Object *obj,
  Eina_Boollock)
 {
+   Efl_Ui_Scroll_Block block;
+
EINA_SAFETY_ON_NULL_RETURN(obj);
-   elm_widget_scroll_lock_x_set(obj, lock);
+   block = elm_widget_scroll_lock_get(obj);
+   if (lock) block |= EFL_UI_SCROLL_BLOCK_HORIZONTAL;
+   else block &= ~EFL_UI_SCROLL_BLOCK_HORIZONTAL;
+   elm_widget_scroll_lock_set(obj, block);
 }
 
 EAPI void
 elm_object_scroll_lock_y_set(Evas_Object *obj,
  Eina_Boollock)
 {
+   Efl_Ui_Scroll_Block block;
+
EINA_SAFETY_ON_NULL_RETURN(obj);
-   elm_widget_scroll_lock_y_set(obj, lock);
+   block = elm_widget_scroll_lock_get(obj);
+   if (lock) block |= EFL_UI_SCROLL_BLOCK_VERTICAL;
+   else block &= ~EFL_UI_SCROLL_BLOCK_VERTICAL;
+   elm_widget_scroll_lock_set(obj, block);
 }
 
 EAPI Eina_Bool
 elm_object_scroll_lock_x_get(const Evas_Object *obj)
 {
+   Efl_Ui_Scroll_Block block;
+
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
-   return elm_widget_scroll_lock_x_get(obj);
+   block = elm_widget_scroll_lock_get(obj);
+   return !!(block & EFL_UI_SCROLL_BLOCK_HORIZONTAL);
 }
 
 EAPI Eina_Bool
 elm_object_scroll_lock_y_get(const Evas_Object *obj)
 {
+   Efl_Ui_Scroll_Block block;
+
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
-   return elm_widget_scroll_lock_y_get(obj);
+   block = elm_widget_scroll_lock_get(obj);
+   return !!(block & EFL_UI_SCROLL_BLOCK_VERTICAL);
 }
 
 EAPI void
diff --git a/src/lib/elementary/elm_widget.c 

[EGIT] [core/efl] master 04/09: scroll: Rename elm enum to efl.ui

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ffa041fe58f63ad961ca88e3bbe1f696b1f8e1ea

commit ffa041fe58f63ad961ca88e3bbe1f696b1f8e1ea
Author: Jean-Philippe Andre 
Date:   Tue Aug 29 17:49:38 2017 +0900

scroll: Rename elm enum to efl.ui

This scroll block enum should also be used in widget itself.

Ref T5363
---
 src/lib/elementary/elm_general.eot | 14 
 src/lib/elementary/elm_interface_scrollable.c  | 46 +-
 src/lib/elementary/elm_interface_scrollable.eo | 26 +++
 src/lib/elementary/elm_interface_scrollable.h  |  2 +-
 src/lib/elementary/elm_panel.c | 32 +-
 src/lib/elementary/elm_scroller.c  | 18 --
 src/lib/elementary/elm_scroller_legacy.h   | 15 +
 7 files changed, 89 insertions(+), 64 deletions(-)

diff --git a/src/lib/elementary/elm_general.eot 
b/src/lib/elementary/elm_general.eot
index 2c6ffb65c0..3ce39e50f3 100644
--- a/src/lib/elementary/elm_general.eot
+++ b/src/lib/elementary/elm_general.eot
@@ -195,6 +195,20 @@ enum Efl.Ui.Softcursor_Mode
off   [[Never use a softcursor.]]
 }
 
+enum Efl.Ui.Scroll_Block
+{
+   [[Direction in which a scroller should be blocked.
+
+ Note: These options may be effective only in case of thumbscroll (i.e.
+ when scrolling by dragging).
+
+ @since 1.21
+   ]]
+   none = 0,  [[Don't block any movement.]]
+   vertical = 1,  [[Block vertical movement.]]
+   horizontal = 2 [[Block horizontal movement.]]
+}
+
 enum Elm.Icon.Type
 {
[[Elementary icon types]]
diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 8588161c93..718417e2be 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -2125,11 +2125,11 @@ _elm_scroll_wheel_event_cb(void *data,
  return;
if (direction)
  {
-if (sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL) return;
+if (sid->block & EFL_UI_SCROLL_BLOCK_HORIZONTAL) return;
  }
else
  {
-if (sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL) return;
+if (sid->block & EFL_UI_SCROLL_BLOCK_VERTICAL) return;
  }
 
evas_post_event_callback_push(e, _scroll_wheel_post_event_cb, sid);
@@ -2514,8 +2514,8 @@ _elm_scroll_mouse_up_event_cb(void *data,
 
if (!sid->pan_obj) return;
 
-   if ((sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL) &&
-   (sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
+   if ((sid->block & EFL_UI_SCROLL_BLOCK_VERTICAL) &&
+   (sid->block & EFL_UI_SCROLL_BLOCK_HORIZONTAL))
  return;
 
 #ifdef SMOOTHDBG
@@ -2700,7 +2700,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
pgx = _elm_scroll_page_x_get(sid, ox, EINA_TRUE);
if (pgx != x &&
!(sid->block &
-ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
+EFL_UI_SCROLL_BLOCK_HORIZONTAL))
  {
 ev->event_flags |= EVAS_EVENT_FLAG_ON_SCROLL;
 _elm_scroll_scroll_to_x
@@ -2714,7 +2714,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
pgy = _elm_scroll_page_y_get(sid, oy, EINA_TRUE);
if (pgy != y &&
!(sid->block &
-ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL))
+EFL_UI_SCROLL_BLOCK_VERTICAL))
  {
 ev->event_flags |= EVAS_EVENT_FLAG_ON_SCROLL;
 _elm_scroll_scroll_to_y
@@ -2801,8 +2801,8 @@ _elm_scroll_mouse_down_event_cb(void *data,
sid = data;
ev = event_info;
 
-   if ((sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL) &&
-   (sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
+   if ((sid->block & EFL_UI_SCROLL_BLOCK_VERTICAL) &&
+   (sid->block & EFL_UI_SCROLL_BLOCK_HORIZONTAL))
  return;
 
 #ifdef SMOOTHDBG
@@ -3267,8 +3267,8 @@ _elm_scroll_mouse_move_event_cb(void *data,
 
if (!sid->pan_obj) return;
 
-   if ((sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL) &&
-   (sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
+   if ((sid->block & EFL_UI_SCROLL_BLOCK_VERTICAL) &&
+   (sid->block & EFL_UI_SCROLL_BLOCK_HORIZONTAL))
  return;
 
ev = event_info;
@@ -3283,7 +3283,7 @@ _elm_scroll_mouse_move_event_cb(void *data,
if (!sid->down.now) return;
 
if ((sid->scrollto.x.animator) && (!sid->hold) && (!sid->freeze) &&
-   !(sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
+   !(sid->block & EFL_UI_SCROLL_BLOCK_HORIZONTAL))
  {
 Evas_Coord px = 0;
 ELM_ANIMATOR_DISCONNECT(sid->obj, sid->scrollto.x.animator, 
_elm_scroll_scroll_to_x_animator, sid);
@@ -3293,7 +3293,7 @@ 

[EGIT] [core/efl] master 01/09: widget: Use rectangle on the stack for region_show

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=00862c3c9c16daab21c903424f13f6d989c1b744

commit 00862c3c9c16daab21c903424f13f6d989c1b744
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 11:29:08 2017 +0900

widget: Use rectangle on the stack for region_show

Follow @k-s recommendation and simply use rectangles on the stack rather
than by pointer.

Ref T5363
---
 src/lib/elementary/efl_ui_text.c | 20 +++-
 src/lib/elementary/elm_conform.c |  4 +---
 src/lib/elementary/elm_entry.c   | 20 ++--
 src/lib/elementary/elm_gengrid.c | 19 +++
 src/lib/elementary/elm_panel.c   | 19 ---
 src/lib/elementary/elm_widget.c  | 32 +---
 src/lib/elementary/elm_widget.eo | 12 
 src/lib/elementary/elm_widget.h  |  2 +-
 8 files changed, 67 insertions(+), 61 deletions(-)

diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 46da72ea5e..f49204027d 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -1202,31 +1202,33 @@ _efl_ui_text_elm_widget_on_focus(Eo *obj, 
Efl_Ui_Text_Data *sd, Elm_Object_Item
return EINA_TRUE;
 }
 
-EOLIAN static Eina_Bool
-_efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data 
*sd, Eina_Rectangle *r)
+EOLIAN static Eina_Rectangle
+_efl_ui_text_elm_widget_focus_region_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data 
*sd)
 {
Evas_Coord edje_x, edje_y, elm_x, elm_y;
+   Eina_Rectangle r = {};
 
-   EINA_SAFETY_ON_NULL_RETURN_VAL(r, EINA_FALSE);
efl_text_cursor_geometry_get(obj,
  efl_text_cursor_get(obj, EFL_TEXT_CURSOR_GET_MAIN),
  EFL_TEXT_CURSOR_TYPE_BEFORE,
- >x, >y, >w, >h,
+ , , , ,
  NULL, NULL, NULL, NULL);
 
if (sd->single_line)
  {
-evas_object_geometry_get(sd->entry_edje, NULL, NULL, NULL, >h);
-r->y = 0;
+evas_object_geometry_get(sd->entry_edje, NULL, NULL, NULL, );
+r.y = 0;
  }
 
evas_object_geometry_get(sd->entry_edje, _x, _y, NULL, NULL);
evas_object_geometry_get(obj, _x, _y, NULL, NULL);
 
-   r->x += edje_x - elm_x;
-   r->y += edje_y - elm_y;
+   r.x += edje_x - elm_x;
+   r.y += edje_y - elm_y;
+   if (r.w < 1) r.w = 1;
+   if (r.h < 1) r.h = 1;
 
-   return EINA_TRUE;
+   return r;
 }
 
 static void
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index 25b1e497b2..1197b961b6 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -663,9 +663,7 @@ _show_region_job(void *data)
focus_obj = elm_widget_focused_object_get(data);
if (focus_obj)
  {
-Eina_Rectangle r;
-
-elm_widget_focus_region_get(focus_obj, );
+Eina_Rectangle r = elm_widget_focus_region_get(focus_obj);
 
 if (r.h < _elm_config->finger_size)
   r.h = _elm_config->finger_size;
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index b9b0cb20c2..b56048b915 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -1308,14 +1308,14 @@ _elm_entry_elm_widget_on_focus(Eo *obj, Elm_Entry_Data 
*sd, Elm_Object_Item *ite
return EINA_TRUE;
 }
 
-EOLIAN static Eina_Bool
-_elm_entry_elm_widget_focus_region_get(Eo *obj, Elm_Entry_Data *sd, 
Eina_Rectangle *r)
+EOLIAN static Eina_Rectangle
+_elm_entry_elm_widget_focus_region_get(Eo *obj, Elm_Entry_Data *sd)
 {
Evas_Coord cx, cy, cw, ch;
Evas_Coord edx, edy;
Evas_Coord elx, ely, elw, elh;
+   Eina_Rectangle r;
 
-   EINA_SAFETY_ON_NULL_RETURN_VAL(r, EINA_FALSE);
edje_object_part_text_cursor_geometry_get
  (sd->entry_edje, "elm.text", , , , );
 
@@ -1330,14 +1330,14 @@ _elm_entry_elm_widget_focus_region_get(Eo *obj, 
Elm_Entry_Data *sd, Eina_Rectang
  }
evas_object_geometry_get(obj, , , , );
 
-   r->x = cx + edx - elx;
-   if ((cw < elw) && (r->x + cw > elw)) r->x = elw - cw;
-   r->y = cy + edy - ely;
-   if ((ch < elh) && (r->y + ch > elh)) r->y = elh - ch;
-   r->w = cw;
-   r->h = ch;
+   r.x = cx + edx - elx;
+   if ((cw < elw) && (r.x + cw > elw)) r.x = elw - cw;
+   r.y = cy + edy - ely;
+   if ((ch < elh) && (r.y + ch > elh)) r.y = elh - ch;
+   r.w = MAX(cw, 1);
+   r.h = MAX(ch, 1);
 
-   return EINA_TRUE;
+   return r;
 }
 
 static void
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 854550a26f..47fd0d696d 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -3539,26 +3539,29 @@ _elm_gengrid_elm_widget_on_focus(Eo *obj, 
Elm_Gengrid_Data *sd, Elm_Object_Item
return EINA_TRUE;
 }
 
-EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_focus_region_get(Eo *obj, Elm_Gengrid_Data *sd, 
Eina_Rectangle *r)
+EOLIAN static Eina_Rectangle
+_elm_gengrid_elm_widget_focus_region_get(Eo *obj, Elm_Gengrid_Data *sd)
 {
-   

[EGIT] [core/efl] master 02/09: widget: Remove drag_child_locked APIs (EO)

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ac215dba0f0b3d81dab0986bc3d3a40cbabd6782

commit ac215dba0f0b3d81dab0986bc3d3a40cbabd6782
Author: Jean-Philippe Andre 
Date:   Tue Aug 29 16:46:12 2017 +0900

widget: Remove drag_child_locked APIs (EO)

These are just internal helper functions for the scrollable mixin. I
don't think they need to appear in the external API.

Ref T5363
---
 src/lib/elementary/elm_widget.c  | 12 
 src/lib/elementary/elm_widget.eo | 12 
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 8ce6b5e3f1..2acba9307b 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -4005,15 +4005,19 @@ _elm_widget_drag_lock_y_get(Eo *obj EINA_UNUSED, 
Elm_Widget_Smart_Data *sd)
return sd->drag_y_locked;
 }
 
-EOLIAN static int
-_elm_widget_drag_child_locked_x_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data 
*sd)
+EAPI int
+elm_widget_drag_child_locked_x_get(const Eo *obj)
 {
+   Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return EINA_FALSE;
return sd->child_drag_x_locked;
 }
 
-EOLIAN static int
-_elm_widget_drag_child_locked_y_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data 
*sd)
+EAPI int
+elm_widget_drag_child_locked_y_get(const Eo *obj)
 {
+   Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return EINA_FALSE;
return sd->child_drag_y_locked;
 }
 
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index a2d704d309..9d01bd3d9f 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -290,18 +290,6 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
 lock: bool; [[$true if the Y axis is locked, $false otherwise]]
  }
   }
-  @property drag_child_locked_x {
-[[Drag child locked X axis]]
- get {
-return: int; [[FIXME]]
- }
-  }
-  @property drag_child_locked_y {
- [[Drag child locked Y axis property]]
- get {
-return: int; [[FIXME]]
- }
-  }
 
   /* Translation & Text API. */
   translate @protected {

-- 




[EGIT] [core/efl] master 09/09: widget: Mark some functions as protected

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c9fcdbc68cddaceb089fd0c6016f73ce7302be9f

commit c9fcdbc68cddaceb089fd0c6016f73ce7302be9f
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 16:22:32 2017 +0900

widget: Mark some functions as protected

I believe all of those APIs are in fact meant for widgets to use
themselves:
 - on_focus
 - on_show_region_hook
 - focus_region
 - focus_register
 - focus_manager_factory

Ref T5363
---
 src/lib/elementary/elm_widget.eo | 38 +-
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index f083620154..f5a5e6edfa 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -404,16 +404,17 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
  return: Efl.Ui.Theme.Apply; [[Indicates success, and if the current
theme or default theme was used.]]
   }
-  on_focus {
- [['Virtual' function handling focus in/out events on the widget]]
+  on_focus @protected {
+ [[Virtual function handling focus in/out events on the widget]]
  params {
+/* FIXME: EO API is not supposed to have any widget item!!! */
 @in item: Elm.Widget.Item @nullable; [[Widget]]
  }
  return: bool; [[$true if this widget can handle focus, $false 
otherwise]]
   }
 
   /* Scroll API. */
-  @property on_show_region_hook {
+  @property on_show_region_hook @protected {
  [[Hook function called when the @.show_region is changed.
 
See also @.show_region.
@@ -466,7 +467,7 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
 
   /* FIXME: This is not 100% related to focus. This documentation needs
* further fixing. */
-  @property focus_region {
+  @property focus_region @protected {
  [[Region to show when focus changes within this widget.
 
When this widget or one of its subwidgets is given focus, this
@@ -497,10 +498,10 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
See also @.focus_region.
  ]]
   }
-  /* FIXME: This enum is in Elm namespace! */
   @property focus_region_show_mode {
  [[Control the focus_region_show mode.]]
  values {
+/* FIXME: This enum is in Elm namespace! */
 mode: Elm.Focus.Region.Show_Mode; [[Focus region show mode]]
  }
   }
@@ -734,27 +735,30 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
   }
 
   /* Focus Manager API */
-  focus_register {
- [[Register focus with focus manager]]
+  focus_register @protected {
+ [[Register focus with the given focus manager.]]
  params {
-manager : Efl.Ui.Focus.Manager; [[The manager to register against]]
-logical : Efl.Ui.Focus.Object; [[The logical parent to use]]
-@inout logical_flag : bool; [[reference to the flag indicating if 
the should be logical or not change this flag to the value you have it 
registered]]
+@in manager: Efl.Ui.Focus.Manager; [[The focus manager to register 
with.]]
+@in logical: Efl.Ui.Focus.Object; [[The logical parent to use.]]
+/* FIXME: The below doc needs fixing! */
+@inout logical_flag: bool; [[reference to the flag indicating if 
the should be logical or not change this flag to the value you have it 
registered]]
  }
- return : bool; [[return $true or $false if the registration was 
successfull or not]]
+ return: bool; [[return $true or $false if the registration was 
successfull or not]]
   }
-  focus_manager_factory {
- [[If the widget needs a manager, this function is called
+  focus_manager_factory @protected {
+ [[If the widget needs a focus manager, this function will be called.
 
-   It can be used and overriden to inject your own manager or set 
custom options on the manager
+   It can be used and overriden to inject your own manager or set
+   custom options on the focus manager.
  ]]
  params {
-root : Efl.Ui.Focus.Object; [[the logical root to use in the 
manager.]]
+@in root: Efl.Ui.Focus.Object; [[The logical root object for 
focus.]]
  }
- return : Efl.Ui.Focus.Manager;
+ return: Efl.Ui.Focus.Manager;
   }
   focus_direction_manager_is @protected {
- [['Virtual' function which checks if handling of passing focus to 
sub-objects in given direction is supported by widget.]]
+ [[Virtual function which checks if this widget can handle passing
+   focus to sub-object, in a given 

[EGIT] [core/efl] master 06/09: eina: Add convenience eina_rectangle_equal

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4a6b52465df25a671f6298650182900e2f1407da

commit 4a6b52465df25a671f6298650182900e2f1407da
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 13:55:47 2017 +0900

eina: Add convenience eina_rectangle_equal

@feature
---
 src/lib/eina/eina_inline_rectangle.x |  7 +++
 src/lib/eina/eina_rectangle.h| 14 ++
 2 files changed, 21 insertions(+)

diff --git a/src/lib/eina/eina_inline_rectangle.x 
b/src/lib/eina/eina_inline_rectangle.x
index af257495eb..a6a07a43ed 100644
--- a/src/lib/eina/eina_inline_rectangle.x
+++ b/src/lib/eina/eina_inline_rectangle.x
@@ -48,6 +48,13 @@ eina_rectangle_coords_from(Eina_Rectangle *r, int x, int y, 
int w, int h)
 }
 
 static inline Eina_Bool
+eina_rectangle_equal(const Eina_Rectangle *rect1, const Eina_Rectangle *rect2)
+{
+   return ((rect1->x == rect2->x) && (rect1->y == rect2->y) &&
+   (rect1->w == rect2->w) && (rect1->h == rect2->h));
+}
+
+static inline Eina_Bool
 eina_rectangles_intersect(const Eina_Rectangle *r1, const Eina_Rectangle *r2)
 {
return (eina_spans_intersect(r1->x, r1->w, r2->x, r2->w) && 
eina_spans_intersect(r1->y, r1->h, r2->y, r2->h)) ? EINA_TRUE : EINA_FALSE;
diff --git a/src/lib/eina/eina_rectangle.h b/src/lib/eina/eina_rectangle.h
index 6934201cbc..e32dfcba5d 100644
--- a/src/lib/eina/eina_rectangle.h
+++ b/src/lib/eina/eina_rectangle.h
@@ -531,6 +531,20 @@ EAPI void
eina_rectangle_pool_packing_set(Eina_Rectangle_Pool *pool,E
  */
 EAPI Eina_Rectangle_Outside eina_rectangle_outside_position(Eina_Rectangle 
*rect1, Eina_Rectangle *rect2);
 
+/**
+ * @brief Compares two rectangles for equality
+ *
+ * @param rect1 First rectangle. Must not be NULL.
+ * @param rect2 Second rectangle. Must not be NULL.
+ *
+ * @return EINA_TRUE if the rectangles are equal (x, y, w and h are all equal).
+ * No safety check is made on the rectangles, so they should be valid and non
+ * NULL for this function to be meaningful.
+ *
+ * @since 1.21
+ */
+static inline Eina_Bool eina_rectangle_equal(const Eina_Rectangle *rect1, 
const Eina_Rectangle *rect2) EINA_ARG_NONNULL(1, 2) EINA_WARN_UNUSED_RESULT;
+
 #include "eina_inline_rectangle.x"
 
 /**

-- 




[EGIT] [core/efl] master 08/09: widget: Move item_loop_enabled to scrollable (EO)

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=692282e67a2888446743275ce3c8c973d5912b6c

commit 692282e67a2888446743275ce3c8c973d5912b6c
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 16:15:34 2017 +0900

widget: Move item_loop_enabled to scrollable (EO)

I was told that the scrollable interface is being redesigned for EO.
This API definitely does not belong to the base Widget class, as it's
quite specific to item-based scrollable widgets, such as lists and
grids. Since Elm.Interface_Scrollable is itself being revamped, it is a
good place to move that EO API for now.

Ref T5363
---
 src/lib/elementary/elm_gengrid.c   |  4 ++--
 src/lib/elementary/elm_gengrid.eo  |  2 +-
 src/lib/elementary/elm_genlist.c   |  4 ++--
 src/lib/elementary/elm_genlist.eo  |  2 +-
 src/lib/elementary/elm_interface_scrollable.c  | 12 
 src/lib/elementary/elm_interface_scrollable.eo |  6 ++
 src/lib/elementary/elm_list.c  |  4 ++--
 src/lib/elementary/elm_list.eo |  2 +-
 src/lib/elementary/elm_main.c  |  6 --
 src/lib/elementary/elm_widget.c| 11 ---
 src/lib/elementary/elm_widget.eo   | 11 +--
 src/lib/elementary/elm_widget.h|  2 --
 12 files changed, 36 insertions(+), 30 deletions(-)

diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 47fd0d696d..07fba28b50 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -5541,13 +5541,13 @@ _elm_gengrid_elm_widget_focused_item_get(Eo *obj 
EINA_UNUSED, Elm_Gengrid_Data *
 }
 
 EOLIAN static void
-_elm_gengrid_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, 
Elm_Gengrid_Data *sd, Eina_Bool enable)
+_elm_gengrid_elm_interface_scrollable_item_loop_enabled_set(Eo *obj 
EINA_UNUSED, Elm_Gengrid_Data *sd, Eina_Bool enable)
 {
sd->item_loop_enable = !!enable;
 }
 
 EOLIAN static Eina_Bool
-_elm_gengrid_elm_widget_item_loop_enabled_get(Eo *obj EINA_UNUSED, 
Elm_Gengrid_Data *sd)
+_elm_gengrid_elm_interface_scrollable_item_loop_enabled_get(Eo *obj 
EINA_UNUSED, Elm_Gengrid_Data *sd)
 {
return sd->item_loop_enable;
 }
diff --git a/src/lib/elementary/elm_gengrid.eo 
b/src/lib/elementary/elm_gengrid.eo
index d4145e74af..0a6dcc6ee4 100644
--- a/src/lib/elementary/elm_gengrid.eo
+++ b/src/lib/elementary/elm_gengrid.eo
@@ -558,7 +558,7 @@ class Elm.Gengrid (Efl.Ui.Layout, Elm.Interface_Scrollable,
   Elm.Widget.widget_event;
   Elm.Widget.focus_highlight_geometry { get; }
   Elm.Widget.focused_item { get; }
-  Elm.Widget.item_loop_enabled { get; set; }
+  Elm.Interface_Scrollable.item_loop_enabled { get; set; }
   Elm.Interface_Scrollable.bounce_allow { set; }
   Elm.Interface_Scrollable.policy { get; set; }
   Elm.Interface.Atspi_Accessible.children { get; }
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 369ef1d85e..0abbd87077 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -8526,13 +8526,13 @@ _elm_genlist_elm_widget_focused_item_get(Eo *obj 
EINA_UNUSED, Elm_Genlist_Data *
 }
 
 EOLIAN static void
-_elm_genlist_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, 
Elm_Genlist_Data *sd, Eina_Bool enable)
+_elm_genlist_elm_interface_scrollable_item_loop_enabled_set(Eo *obj 
EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool enable)
 {
sd->item_loop_enable = !!enable;
 }
 
 EOLIAN static Eina_Bool
-_elm_genlist_elm_widget_item_loop_enabled_get(Eo *obj EINA_UNUSED, 
Elm_Genlist_Data *sd)
+_elm_genlist_elm_interface_scrollable_item_loop_enabled_get(Eo *obj 
EINA_UNUSED, Elm_Genlist_Data *sd)
 {
return sd->item_loop_enable;
 }
diff --git a/src/lib/elementary/elm_genlist.eo 
b/src/lib/elementary/elm_genlist.eo
index 9e1b041f77..e2a1f2470c 100644
--- a/src/lib/elementary/elm_genlist.eo
+++ b/src/lib/elementary/elm_genlist.eo
@@ -543,7 +543,7 @@ class Elm.Genlist (Efl.Ui.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
   Elm.Widget.widget_sub_object_del;
   Elm.Widget.widget_event;
   Elm.Widget.focused_item { get; }
-  Elm.Widget.item_loop_enabled { get; set; }
+  Elm.Interface_Scrollable.item_loop_enabled { get; set; }
   Elm.Interface_Scrollable.bounce_allow { get; set; }
   Elm.Interface_Scrollable.policy { get; set; }
   Elm.Interface.Atspi_Accessible.children { get; }
diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 6b10a029cf..1757d5e990 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -4741,6 +4741,18 @@ 
_elm_interface_scrollable_efl_ui_focus_manager_focus_set(Eo *obj, Elm_Scrollable
elm_interface_scrollable_region_bring_in(obj, geom.x, geom.y, geom.w, 

[EGIT] [core/efl] master 07/09: widget: Use rectangle in show_region

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a82ab33bed4a2b8d9f07338cc6e1d41aeab22d84

commit a82ab33bed4a2b8d9f07338cc6e1d41aeab22d84
Author: Jean-Philippe Andre 
Date:   Wed Aug 30 13:39:16 2017 +0900

widget: Use rectangle in show_region

Also make it a property. It's asymmetric because of the force show
argument, but the get is much cleaner.

Ref T5363
---
 src/lib/elementary/efl_ui_text.c  |  4 ++-
 src/lib/elementary/elc_multibuttonentry.c | 10 +++---
 src/lib/elementary/elm_conform.c  |  2 +-
 src/lib/elementary/elm_entry.c| 20 ++--
 src/lib/elementary/elm_widget.c   | 42 -
 src/lib/elementary/elm_widget.eo  | 51 ++-
 src/lib/elementary/elm_widget.h   |  6 ++--
 7 files changed, 65 insertions(+), 70 deletions(-)

diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index f49204027d..c83e035cd8 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -1042,6 +1042,7 @@ _cursor_geometry_recalc(Evas_Object *obj)
Evas_Coord x, y, w, h;
Evas_Coord x2, y2, w2, h2;
Evas_Coord cx, cy, cw, ch;
+   Eina_Rectangle sr;
 
cx = cy = cw = ch = 0;
x2 = y2 = w2 = h2 = 0;
@@ -1063,7 +1064,8 @@ _cursor_geometry_recalc(Evas_Object *obj)
  , , , );
cx = cx + x - x2;
cy = cy + y - y2;
-   elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE);
+   sr = (Eina_Rectangle) { cx, cy, cw, ch };
+   elm_widget_show_region_set(obj, sr, EINA_FALSE);
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index e86f25c669..9ed9707053 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -1067,12 +1067,14 @@ _entry_resize_cb(void *data,
  void *event_info EINA_UNUSED)
 {
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
-   Evas_Coord en_x, en_y, en_w, en_h;
-
-   evas_object_geometry_get(sd->entry, _x, _y, _w, _h);
 
if (elm_widget_focus_get(sd->parent))
- elm_widget_show_region_set(sd->entry, en_x, en_y, en_w, en_h, EINA_TRUE);
+ {
+Eina_Rectangle sr = {};
+
+evas_object_geometry_get(sd->entry, , , , );
+elm_widget_show_region_set(sd->entry, sr, EINA_TRUE);
+ }
 }
 
 static void
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index 1197b961b6..4896061255 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -668,7 +668,7 @@ _show_region_job(void *data)
 if (r.h < _elm_config->finger_size)
   r.h = _elm_config->finger_size;
 
-elm_widget_show_region_set(focus_obj, r.x, r.y, r.w, r.h, EINA_TRUE);
+elm_widget_show_region_set(focus_obj, r, EINA_TRUE);
  }
 
sd->show_region_job = NULL;
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index b56048b915..273143dbb5 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -1009,14 +1009,14 @@ _cursor_geometry_recalc(Evas_Object *obj)
 
if (!sd->deferred_recalc_job)
  {
-Evas_Coord cx, cy, cw, ch;
-
-edje_object_part_text_cursor_geometry_get
-  (sd->entry_edje, "elm.text", , , , );
 if (sd->cur_changed)
   {
+ Eina_Rectangle sr = {};
+
  sd->cur_changed = EINA_FALSE;
- elm_widget_show_region_set(obj, cx, cy, cw, ch, EINA_FALSE);
+ edje_object_part_text_cursor_geometry_get
+   (sd->entry_edje, "elm.text", , , , );
+ elm_widget_show_region_set(obj, sr, EINA_FALSE);
   }
  }
else
@@ -1083,14 +1083,14 @@ _deferred_recalc_job(void *data)
 
if (sd->deferred_cur)
  {
-Evas_Coord cx, cy, cw, ch;
-
-edje_object_part_text_cursor_geometry_get
-  (sd->entry_edje, "elm.text", , , , );
 if (sd->cur_changed)
   {
+ Eina_Rectangle sr = {};
+
  sd->cur_changed = EINA_FALSE;
- elm_widget_show_region_set(data, cx, cy, cw, ch, EINA_FALSE);
+ edje_object_part_text_cursor_geometry_get
+   (sd->entry_edje, "elm.text", , , , );
+ elm_widget_show_region_set(data, sr, EINA_FALSE);
   }
  }
 }
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index bd96b03cd6..4cefaf0aa4 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -3393,32 +3393,25 @@ _elm_widget_disabled_get(Eo *obj EINA_UNUSED, 
Elm_Widget_Smart_Data *sd)
 }
 
 EOLIAN static void
-_elm_widget_show_region_set(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Coord x, 
Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool forceshow)
+_elm_widget_show_region_set(Eo *obj, Elm_Widget_Smart_Data *sd, 

[EGIT] [core/efl] master 03/09: widget: Rename drag_lock to scroll_lock (EO)

2017-08-30 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c690469fcc9d314144f432a6b74c20ea396d5cb7

commit c690469fcc9d314144f432a6b74c20ea396d5cb7
Author: Jean-Philippe Andre 
Date:   Tue Aug 29 16:49:43 2017 +0900

widget: Rename drag_lock to scroll_lock (EO)

This also includes the drag_child_lock APIs. This had nothing to do with
dragging beyond maybe the case where scrolling is done by thumbscroll
(ie. finger drag).

Note that the EAPI were called already scroll_lock, not drag_lock.

Ref T5363
---
 src/lib/elementary/elm_interface_scrollable.c | 34 +--
 src/lib/elementary/elm_main.c |  8 +++
 src/lib/elementary/elm_widget.c   | 28 +++---
 src/lib/elementary/elm_widget.eo  | 26 ++--
 src/lib/elementary/elm_widget.h   | 16 ++---
 5 files changed, 55 insertions(+), 57 deletions(-)

diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 152de5f34d..8588161c93 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -1440,7 +1440,7 @@ 
_elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
b2x = px;
b2y = py;
if ((!sid->obj) ||
-   (!elm_widget_drag_child_locked_x_get(sid->obj)))
+   (!elm_widget_scroll_child_locked_x_get(sid->obj)))
  {
 if ((!sid->down.bounce_x_animator) && (!sid->bounce_animator_disabled))
   {
@@ -1459,7 +1459,7 @@ 
_elm_scroll_bounce_eval(Elm_Scrollable_Smart_Interface_Data *sid)
   }
  }
if ((!sid->obj) ||
-   (!elm_widget_drag_child_locked_y_get(sid->obj)))
+   (!elm_widget_scroll_child_locked_y_get(sid->obj)))
  {
 if ((!sid->down.bounce_y_animator) && (!sid->bounce_animator_disabled))
   {
@@ -2145,8 +2145,8 @@ _elm_scroll_post_event_up(void *data,
  {
 if (sid->down.dragged)
   {
- elm_widget_drag_lock_x_set(sid->obj, EINA_FALSE);
- elm_widget_drag_lock_y_set(sid->obj, EINA_FALSE);
+ elm_widget_scroll_lock_x_set(sid->obj, EINA_FALSE);
+ elm_widget_scroll_lock_y_set(sid->obj, EINA_FALSE);
   }
  }
return EINA_FALSE;
@@ -2663,7 +2663,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
  if ((!sid->down.momentum_animator) &&
  (!sid->momentum_animator_disabled) &&
  (sid->obj) &&
- (!elm_widget_drag_child_locked_y_get
+ (!elm_widget_scroll_child_locked_y_get
 (sid->obj)))
{
   ELM_ANIMATOR_CONNECT(sid->obj, 
sid->down.momentum_animator, _elm_scroll_momentum_animator, sid);
@@ -2694,7 +2694,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
   elm_interface_scrollable_content_pos_get
 (sid->obj, , );
   if ((!sid->obj) ||
-  (!elm_widget_drag_child_locked_x_get
+  (!elm_widget_scroll_child_locked_x_get
  (sid->obj)))
 {
pgx = _elm_scroll_page_x_get(sid, ox, EINA_TRUE);
@@ -2708,7 +2708,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
  }
 }
   if ((!sid->obj) ||
-  (!elm_widget_drag_child_locked_y_get
+  (!elm_widget_scroll_child_locked_y_get
  (sid->obj)))
 {
pgy = _elm_scroll_page_y_get(sid, oy, EINA_TRUE);
@@ -2734,7 +2734,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
   elm_interface_scrollable_content_pos_get
 (sid->obj, , );
   if ((!sid->obj) ||
-  (!elm_widget_drag_child_locked_x_get
+  (!elm_widget_scroll_child_locked_x_get
  (sid->obj)))
 {
pgx = _elm_scroll_page_x_get(sid, ox, EINA_TRUE);
@@ -2743,7 +2743,7 @@ _elm_scroll_mouse_up_event_cb(void *data,
(sid, _elm_config->page_scroll_friction, pgx);
 }
   if ((!sid->obj) ||
-  (!elm_widget_drag_child_locked_y_get
+  (!elm_widget_scroll_child_locked_y_get
  (sid->obj)))
 {
pgy = _elm_scroll_page_y_get(sid, oy, EINA_TRUE);
@@ -2982,7 +2982,7 @@ _elm_scroll_post_event_move(void *data,
if (sid->down.dir_x)
  {
 if ((!sid->obj) ||
-

[EGIT] [core/efl] master 01/01: docs: remove outdated NOTES files with random notes about evas_vg

2017-08-30 Thread Stefan Schmidt
stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ed68159d34acaedd6165295e8016ffed30f67f3f

commit ed68159d34acaedd6165295e8016ffed30f67f3f
Author: Stefan Schmidt 
Date:   Wed Aug 30 09:59:57 2017 +0200

docs: remove outdated NOTES files with random notes about evas_vg

I have to say I am buffled that this file made it into the tree. The
naming is very generic (similar to NEWS; README, etc) but it only
contains some random notes about evas_vg. It has not been updated since
its initial commit in 2015 either.

Cedric, if you want to have these notes somewhere put them into
src/lib/evas, or better make it a real doc and put it into the wiki.
---
 NOTES | 31 ---
 1 file changed, 31 deletions(-)

diff --git a/NOTES b/NOTES
deleted file mode 100644
index bb565c266b..00
--- a/NOTES
+++ /dev/null
@@ -1,31 +0,0 @@
-Evas_VG_Color_List
-  - List of color
-
-Evas_VG_Gradient
-  gradient_type_set (radial, linear)
-  color_list_set
-  point_set (i, x, y)
-
-Evas_VG_Fill
-  - abstract
-
-Evas_VG_Root_Node (only one at the top, Evas_VG_Container)
-
-Evas_VG_Shape
-  fill
-  stroke_scale
-  stroke_color
-  stroke_fill
-  stroke_width
-  stroke_location
-  stroke_dash(length[], gap[])
-  stroke_marker(Evas_VG_Shape *)
-  stroke_cap
-  stroke_join
-
-Evas_VG_Filter
-  ??
-
-bounds_get -> Evas_VG_Node
-
-Eina_Matrix3

-- 




[EGIT] [core/enlightenment] master 01/01: e client focus - fix focus if moving focused window to new desk

2017-08-30 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=418319fc942a2c9204c8ec1d3d9e9bb1bbfb83fa

commit 418319fc942a2c9204c8ec1d3d9e9bb1bbfb83fa
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Aug 30 16:13:50 2017 +0900

e client focus - fix focus if moving focused window to new desk

if the window being moved to a new desktop is focused, then ensure
after the move to restore focus to the last focused in the focus stack
for this desk to something stays focused.

@fix
---
 src/bin/e_client.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index d3dc6bdef..414220422 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -2805,6 +2805,7 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
 {
E_Event_Client_Desk_Set *ev;
E_Desk *old_desk;
+   Eina_Bool was_focused = ec->focused;
 
E_OBJECT_CHECK(ec);
E_OBJECT_TYPE_CHECK(ec, E_CLIENT_TYPE);
@@ -2872,6 +2873,11 @@ e_client_desk_set(E_Client *ec, E_Desk *desk)
  e_client_res_change_geometry_restore(ec);
  ec->pre_res_change.valid = 0;
   }
+if (was_focused)
+  {
+ E_Client *ec_focus = e_desk_last_focused_focus(old_desk);
+ if (ec_focus) e_client_focus_set_with_pointer(ec_focus);
+  }
  }
 
if (ec->stack.prev || ec->stack.next)

-- 




Re: [E-devel] Committer access proposal for netstar

2017-08-30 Thread Stefan Schmidt

Hello.

On 08/29/2017 11:56 AM, Stefan Schmidt wrote:

Hello.

I would like to propose commit access for netstar.

He has been active for a long time now. Contributing code for Edi, E and 
efl, etc. Next to this he is also helping with making sure our code 
keeps working on *BSD systems and he actively helps on IRC and the list.


I think he has reached the level where we should entrust him with full 
commit access.


Opinions?


Only positive feedback.

Al, please send me your public key and info.txt

regards
Stefan Schmidt

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] efl-1.20 01/01: Revert "Canvas text: fix uninitialized value"

2017-08-30 Thread Carsten Haitzler
raster pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=8250c58511086e49a1f460ee2a9dfb8dde7cdce9

commit 8250c58511086e49a1f460ee2a9dfb8dde7cdce9
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Aug 30 15:28:57 2017 +0900

Revert "Canvas text: fix uninitialized value"

This reverts commit 02115a35e47df8c01823e6b59876f30bd90e19bb.

dont put this in stable
---
 src/lib/evas/canvas/evas_object_textblock.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index badea08d1e..a7a7a78f90 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -6349,7 +6349,6 @@ _layout(const Evas_Object *eo_obj, int w, int h, int 
*w_ret, int *h_ret)
c->width_changed = (obj->cur->geometry.w != o->last_w);
c->obs_infos = NULL;
c->hyphen_ti = NULL;
-   c->handle_obstacles = EINA_FALSE;
 
/* Start of logical layout creation */
/* setup default base style */

-- 




[EGIT] [core/efl] efl-1.20 03/04: elm init - fix init seq and quicklaunch as we shut down x before evas

2017-08-30 Thread Carsten Haitzler
raster pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=685cff045cc49c0888dff2d58d61f65a961356e5

commit 685cff045cc49c0888dff2d58d61f65a961356e5
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Aug 23 17:23:57 2017 +0900

elm init - fix init seq and quicklaunch as we shut down x before evas

... and others. this leads to crashes if x ops are busy in a thread or
engine evas thread shutdown happens to call engine calls that then do
x calls... should apply in general to wl too. fixes some segv's on
shutdown given the new gl thread patches.

@fix
---
 src/lib/elementary/elm_main.c | 39 ++-
 1 file changed, 18 insertions(+), 21 deletions(-)

diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index 743a9820fd..cc38bfe3b1 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -737,7 +737,6 @@ elm_quicklaunch_init(intargc,
 
eet_init();
ecore_init();
-   edje_init();
 
 #ifdef HAVE_ELEMENTARY_EMAP
emap_init();
@@ -794,26 +793,26 @@ elm_quicklaunch_sub_init(intargc,
if (_elm_sub_init_count > 1) return _elm_sub_init_count;
if (quicklaunch_on)
  {
-_elm_config_init();
-#ifdef SEMI_BROKEN_QUICKLAUNCH
-return _elm_sub_init_count;
-#endif
+//_elm_config_init();
+//#ifdef SEMI_BROKEN_QUICKLAUNCH
+//return _elm_sub_init_count;
+//#endif
  }
 
if (!quicklaunch_on)
  {
 ecore_app_args_set(argc, (const char **)argv);
-evas_init();
+ecore_evas_init(); // FIXME: check errors
+edje_init();
+elm_color_class_init();
 _elm_module_init();
 _elm_config_init();
 _elm_config_sub_init();
-ecore_evas_init(); // FIXME: check errors
 ecore_imf_init();
 ecore_con_init();
 ecore_con_url_init();
 _elm_prefs_initted = _elm_prefs_init();
 _elm_ews_wm_init();
-elm_color_class_init();
  }
return _elm_sub_init_count;
 }
@@ -825,23 +824,25 @@ elm_quicklaunch_sub_shutdown(void)
if (_elm_sub_init_count > 0) return _elm_sub_init_count;
if (quicklaunch_on)
  {
-#ifdef SEMI_BROKEN_QUICKLAUNCH
-return _elm_sub_init_count;
-#endif
+//#ifdef SEMI_BROKEN_QUICKLAUNCH
+//return _elm_sub_init_count;
+//#endif
  }
if (!quicklaunch_on)
  {
 _elm_win_shutdown();
-_elm_module_shutdown();
-if (_elm_prefs_initted)
-  _elm_prefs_shutdown();
 _elm_ews_wm_shutdown();
 ecore_con_url_shutdown();
 ecore_con_shutdown();
 ecore_imf_shutdown();
+edje_shutdown();
 ecore_evas_shutdown();
 _elm_config_sub_shutdown();
-evas_shutdown();
+_elm_config_shutdown();
+_elm_module_shutdown();
+if (_elm_prefs_initted)
+  _elm_prefs_shutdown();
+elm_color_class_shutdown();
  }
return _elm_sub_init_count;
 }
@@ -864,9 +865,6 @@ elm_quicklaunch_shutdown(void)
ELM_SAFE_FREE(_elm_lib_dir, eina_stringshare_del);
ELM_SAFE_FREE(_elm_appname, free);
 
-   _elm_config_shutdown();
-   elm_color_class_shutdown();
-
ELM_SAFE_FREE(_elm_exit_handler, ecore_event_handler_del);
 
_elm_theme_shutdown();
@@ -878,15 +876,14 @@ elm_quicklaunch_shutdown(void)
_elm_unneed_elocation();
_elm_unneed_ethumb();
_elm_unneed_web();
-   eio_shutdown();
-   ecore_file_shutdown();
 
 #ifdef HAVE_ELEMENTARY_EMAP
emap_shutdown();
 #endif
_elm_emotion_shutdown();
 
-   edje_shutdown();
+   ecore_file_shutdown();
+   eio_init();
ecore_shutdown();
eet_shutdown();
 

-- 




[EGIT] [core/efl] efl-1.20 02/04: Canvas text: fix uninitialized value

2017-08-30 Thread Daniel Hirt
raster pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=02115a35e47df8c01823e6b59876f30bd90e19bb

commit 02115a35e47df8c01823e6b59876f30bd90e19bb
Author: Daniel Hirt 
Date:   Thu Aug 24 19:26:36 2017 +0300

Canvas text: fix uninitialized value

Bug was introduced in f696cc88933bfa1ac6e5d6da26bc9ba7b2c3e2fa.
---
 src/lib/evas/canvas/evas_object_textblock.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index a7a7a78f90..badea08d1e 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -6349,6 +6349,7 @@ _layout(const Evas_Object *eo_obj, int w, int h, int 
*w_ret, int *h_ret)
c->width_changed = (obj->cur->geometry.w != o->last_w);
c->obs_infos = NULL;
c->hyphen_ti = NULL;
+   c->handle_obstacles = EINA_FALSE;
 
/* Start of logical layout creation */
/* setup default base style */

-- 




[EGIT] [core/efl] efl-1.20 01/04: scroller: fix getting content position.

2017-08-30 Thread Hosang Kim
raster pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=a239d1eb0cf3b1ff8882a2310c51b231e20edd1f

commit a239d1eb0cf3b1ff8882a2310c51b231e20edd1f
Author: Hosang Kim 
Date:   Fri Aug 25 14:53:09 2017 +0900

scroller: fix getting content position.

Summary:
Widgets that don't have content like as genlist, gengrid.
They don't have geometry of content also.
So position of pan will be used when calculating postion to scroll.

Test Plan:
tested in elementary_test and check working properly.
this may be the problem when extern pan set on scrollable interface.

Reviewers: SanghyeonLee, cedric, felipealmeida, larry, bu5hm4n

Reviewed By: SanghyeonLee

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5127
---
 src/lib/elementary/elm_interface_scrollable.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 4753a7ba54..89fb972e39 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -4703,17 +4703,16 @@ EOLIAN static void
 _elm_interface_scrollable_efl_ui_focus_manager_focus(Eo *obj, 
Elm_Scrollable_Smart_Interface_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *focus)
 {
Eina_Rectangle geom;
-   Eina_Rectangle obj_geom;
+   int pan_x, pan_y;
 
efl_ui_focus_manager_focus(efl_super(obj, MY_SCROLLABLE_INTERFACE), focus);
 
if (!focus) return;
 
evas_object_geometry_get(focus, , , , );
-   evas_object_geometry_get(pd->content, _geom.x, _geom.y, 
_geom.w, _geom.h);
-
-   geom.x = geom.x - obj_geom.x;
-   geom.y = geom.y - obj_geom.y;
+   elm_obj_pan_pos_get(pd->pan_obj, _x, _y);
+   geom.x = geom.x + pan_x;
+   geom.y = geom.y + pan_y;
 
elm_interface_scrollable_region_bring_in(obj, geom.x, geom.y, geom.w, 
geom.h);
 }

-- 




[EGIT] [core/efl] efl-1.20 04/04: photocam: Fix key zoom in/out

2017-08-30 Thread Jean-Philippe ANDRÉ
raster pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=a4c99f63585d19f8833d19f631c2bb2caf051494

commit a4c99f63585d19f8833d19f631c2bb2caf051494
Author: Jean-Philippe Andre 
Date:   Thu Aug 17 17:50:57 2017 +0900

photocam: Fix key zoom in/out

Zoom +/- doesn't work well as this is a multiplication factor.

Test scenario:
 - elementary_test -to Photocam

Then click on the image, and press + or - on the keyboard.

@fix
---
 src/lib/elementary/efl_ui_image_zoomable.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_image_zoomable.c 
b/src/lib/elementary/efl_ui_image_zoomable.c
index 6bc07a9a90..ca4bc23a57 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -1017,14 +1017,14 @@ _key_action_zoom(Evas_Object *obj, const char *params)
if (!strcmp(dir, "in"))
  {
 zoom = elm_photocam_zoom_get(obj);
-zoom -= 0.5;
+zoom /= 1.5;
 elm_photocam_zoom_mode_set(obj, ELM_PHOTOCAM_ZOOM_MODE_MANUAL);
 elm_photocam_zoom_set(obj, zoom);
  }
else if (!strcmp(dir, "out"))
  {
 zoom = elm_photocam_zoom_get(obj);
-zoom += 0.5;
+zoom *= 1.5;
 elm_photocam_zoom_mode_set(obj, ELM_PHOTOCAM_ZOOM_MODE_MANUAL);
 elm_photocam_zoom_set(obj, zoom);
  }

--