Re: [E-devel] [EGIT] [core/elementary] elementary-1.10 01/01: Win: Delete "focused" and "unfocused" signals emission because they duplicate Widgets signals
Hello. On Tue, 2014-07-15 at 11:29, Daniel Juyung Seo wrote: > > On Tue, Jul 15, 2014 at 4:53 AM, Stefan Schmidt > wrote: > > > Hello. > > > > On Mon, 2014-07-14 at 09:04, Kateryna Fesyna wrote: > > > seoz pushed a commit to branch elementary-1.10. > > > > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=b1df32e61c5f2bade4fd8a07c86b620aa010259f > > > > > > commit b1df32e61c5f2bade4fd8a07c86b620aa010259f > > > Author: Kateryna Fesyna > > > Date: Mon Jul 14 16:59:48 2014 +0900 > > > > > > Win: Delete "focused" and "unfocused" signals emission because they > > duplicate Widgets signals > > > > > > Summary: > > > "focused" and "unfocused" signals are emitted from Win and Widget. > > This causes > > > signals duplication when window is unfocused. To avoid this > > duplication, emission of these > > > signals is deleted from the Win. > > > > > > @fix > > > > Why is this patch only in the stable branch and not in master? We > > don't want to diverge from master so ALL patches should go there > > first. > > > > This commit is already in master and this is a cherry-pick of it. > 85192572bdfbcbf98cfd04ec4b5d37e1044ac38e I stand corrected. Sorry for the hassle. regards Stefan Schmidt -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: adjust to dbus interace struct.. back to where it was
raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=24d7c9a673cc3f9027ba2cd6684c6993131262d6 commit 24d7c9a673cc3f9027ba2cd6684c6993131262d6 Author: Carsten Haitzler (Rasterman) Date: Tue Jul 15 17:19:06 2014 +0900 adjust to dbus interace struct.. back to where it was --- src/lib/elm_app_server.c | 2 +- src/lib/elm_dbus_menu.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_app_server.c b/src/lib/elm_app_server.c index e6f2039..4acc022 100644 --- a/src/lib/elm_app_server.c +++ b/src/lib/elm_app_server.c @@ -190,7 +190,7 @@ static const Eldbus_Property _props[] = { }; static const Eldbus_Service_Interface_Desc iface_desc = { - "org.enlightenment.Application1", _methods, NULL, _props, NULL, NULL, NULL + "org.enlightenment.Application1", _methods, NULL, _props, NULL, NULL }; EOLIAN static void diff --git a/src/lib/elm_dbus_menu.c b/src/lib/elm_dbus_menu.c index 72aaf7d..021ee3b 100644 --- a/src/lib/elm_dbus_menu.c +++ b/src/lib/elm_dbus_menu.c @@ -877,7 +877,7 @@ static const Eldbus_Property _properties[] = { }; static const Eldbus_Service_Interface_Desc _interface = { - DBUS_INTERFACE, _methods, _signals, _properties, NULL, NULL, NULL + DBUS_INTERFACE, _methods, _signals, _properties, NULL, NULL }; // = --
[EGIT] [core/efl] master 01/01: eolian: comment eo_lexer.h
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5c3cc82bddfda8ec7889b75c8dc1e6c55e3452a3 commit 5c3cc82bddfda8ec7889b75c8dc1e6c55e3452a3 Author: Daniel Kolesa Date: Tue Jul 15 10:09:50 2014 +0100 eolian: comment eo_lexer.h --- src/lib/eolian/eo_lexer.h | 53 +++ 1 file changed, 53 insertions(+) diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 277df41..56077cb 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -7,6 +7,8 @@ #include #include "eo_definitions.h" +/* a token is an int, custom tokens start at this - single-char tokens are + * simply represented by their ascii */ #define START_CUSTOM 257 enum Tokens @@ -14,6 +16,8 @@ enum Tokens TOK_COMMENT = START_CUSTOM, TOK_EOF, TOK_VALUE }; +/* all keywords in eolian, they can still be used as names (they're TOK_VALUE) + * they just fill in the "kw" field of the token */ #define KEYWORDS KW(class), KW(const), KW(private), KW(protected), \ KW(return), KW(signed), KW(struct), KW(unsigned), KW(virtual), \ \ @@ -42,6 +46,7 @@ enum Tokens \ KW(true), KW(false), KW(null) +/* "regular" keyword and @ prefixed keyword */ #define KW(x) KW_##x #define KWAT(x) KW_at_##x @@ -54,6 +59,9 @@ enum Keywords #undef KW #undef KWAT +/* a token - "token" is the actual token id, "value" is the value of a token + * if needed - NULL otherwise - for example the value of a TOK_VALUE, "kw" + * is the keyword id if this is a keyword, it's 0 when not a keyword */ typedef struct _Eo_Token { int token; @@ -68,6 +76,9 @@ enum Nodes NODE_STRUCT }; +/* represents a node, aka a result of parsing - currently class, typedef + * or struct, they're all stored in a list in lexer state and their type + * is determined by enum Nodes above */ typedef struct _Eo_Node { unsigned char type; @@ -79,21 +90,49 @@ typedef struct _Eo_Node }; } Eo_Node; +/* keeps all lexer state */ typedef struct _Eo_Lexer { + /* current character being tested */ int current; + /* column is token aware column number, for example when lexing a keyword +* it points to the beginning of it after the lexing is done, icolumn is +* token unaware, always pointing to current column */ int column, icolumn; + /* the current line number */ int line_number; + /* t: "normal" - token to lex into, "lookahead" - a lookahead token, used +* to look one token past "t", when we need to check for a token after the +* current one and use it in a conditional without consuming the current +* token - used in pretty few cases - because we have one extra lookahead +* token, that makes our grammar LL(2) - two tokens in total */ Eo_Token t, lookahead; + /* a string buffer used to keep contents of token currently being read, +* if needed at all */ Eina_Strbuf *buff; + /* a handle pointing to a memory mapped file representing the file we're +* currently lexing */ Eina_File *handle; + /* the source file name */ const char *source; + /* points to the current character in our mmapped file being lexed, just +* incremented until the end */ const char *stream; + /* end pointer - required to check if we've reached past the file, as +* mmapped data will give us no EOF */ const char *stream_end; + /* points to the current line being lexed, used by error messages to +* display the current line with a caret at the respective column */ const char *stream_line; + /* this is jumped to when an error happens */ jmp_buf err_jmp; + /* represents the results of parsing */ Eina_List *nodes; + /* represents the temporaries, every object that is allocated by the +* parser is temporarily put here so the resources can be reclaimed in +* case of error - and it's nulled when it's written into a more permanent +* position (e.g. as part of another struct, or into nodes */ Eo_Lexer_Temps tmp; } Eo_Lexer; @@ -101,17 +140,31 @@ int eo_lexer_init (void); int eo_lexer_shutdown (void); Eo_Lexer *eo_lexer_new(const char *source); voideo_lexer_free (Eo_Lexer *ls); +/* gets a TOK_VALUE balanced token, aka keeps lexing everything until the + * "end" character, but keeps it balanced, so if it hits "beg" during lexing, + * it won't end at the next "end", useful for lexing between () or [] */ int eo_lexer_get_balanced (Eo_Lexer *ls, char beg, char end); +/* gets a TOK_VALUE until the "end" character */ int eo_lexer_get_until (Eo_Lexer *ls, char end); +/* gets a regular token, singlechar or one of TOK_something */ int eo_lexer_get(Eo_Lexer *ls); +/* like above, but allows you to specify a list of custom characters that can + * be used as part of identifiers */ int eo_lexer
[EGIT] [apps/terminology] master 01/01: Terminology: Miniview: add position indicator
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=5db4ef8519ded9d2ba30b3494d6d1db42d66f637 commit 5db4ef8519ded9d2ba30b3494d6d1db42d66f637 Author: Godfath3r Date: Tue Jul 15 12:20:19 2014 +0200 Terminology: Miniview: add position indicator Summary: Merge branch 'miniview_indicator' Reviewers: raster, billiob Maniphest Tasks: T1417 Differential Revision: https://phab.enlightenment.org/D1150 --- data/themes/default.edc | 26 +++ src/bin/miniview.c | 183 +++- src/bin/miniview.h | 1 + src/bin/termio.c| 4 ++ 4 files changed, 211 insertions(+), 3 deletions(-) diff --git a/data/themes/default.edc b/data/themes/default.edc index 5b97f4c..fdf2455 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -46,6 +46,22 @@ collections { } } } + part { name: "miniview_screen"; type: RECT; + mouse_events: 1; +dragable { +confine: "miniview.img"; +x: 0 0 0; +y: 1 1 0; +} + description { state: "default" 0.0; +color: 255 255 255 40; +fixed:1 1; + } + description { state: "outbounds" 0.0; +color: 255 25 35 40; +fixed:1 1; + } + } part { name: "miniview.close_shadow"; type: IMAGE; description { state: "default" 0.0; image { @@ -78,6 +94,16 @@ collections { signal: "mouse,clicked,1"; source: "miniview.close"; action: SIGNAL_EMIT "miniview,close" "terminology"; } + program { +signal: "miniview_screen,inbounds"; source: "miniview"; +action: STATE_SET "default" 0.0; +target: "miniview_screen"; + } + program { +signal: "miniview_screen,outbounds"; source: "miniview"; +action: STATE_SET "outbounds" 0.0; +target: "miniview_screen"; + } }; }; diff --git a/src/bin/miniview.c b/src/bin/miniview.c index a9797d4..fca7201 100644 --- a/src/bin/miniview.c +++ b/src/bin/miniview.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "miniview.h" #include "col.h" @@ -63,6 +64,13 @@ struct _Miniview unsigned int is_shown : 1; unsigned int to_render : 1; + + Eina_Bool fits_to_img; + + struct _screen { + double size; + double pos_val; + }screen; }; static Evas_Smart *_smart = NULL; @@ -127,6 +135,42 @@ _draw_line(const Termpty *ty, unsigned int *pixels, } } +Eina_Bool +_is_top_bottom_reached(Miniview *mv) +{ + Termpty *ty; + int history_len; + + EINA_SAFETY_ON_NULL_RETURN_VAL(mv, EINA_FALSE); + ty = termio_pty_get(mv->termio); + history_len = ty->backscroll_num; + + if (( (- mv->img_hist) > (int)(mv->img_h - mv->rows - (mv->rows / 2))) && + ( (- mv->img_hist) < (int)(history_len + (mv->rows / 2 + return EINA_FALSE; + + return EINA_TRUE; +} + +static void +_screen_visual_bounds(Miniview *mv) +{ + if ((mv->screen.pos_val > 1) || (mv->screen.pos_val < 0)) + { +edje_object_part_drag_value_set(mv->base, "miniview_screen", +0.0, mv->screen.pos_val); +edje_object_signal_emit(mv->base, "miniview_screen,outbounds", +"miniview"); + } + else + { +edje_object_part_drag_value_set(mv->base, "miniview_screen", +0.0, mv->screen.pos_val); +edje_object_signal_emit(mv->base, "miniview_screen,inbounds", +"miniview"); + } +} + static void _queue_render(Miniview *mv) { @@ -147,9 +191,58 @@ _smart_cb_mouse_wheel(void *data, Evas *e EINA_UNUSED, /* do not handle horizontal scrolling */ if (ev->direction) return; mv->img_hist += ev->z * 25; + + if (!mv->fits_to_img && !_is_top_bottom_reached(mv)) + { +mv->screen.pos_val = mv->screen.pos_val - + (double) (ev->z * 25) / (mv->img_h - mv->rows); +_screen_visual_bounds(mv); + } _queue_render(mv); } +void +miniview_position_offset(Evas_Object *obj, int by, Eina_Bool sanitize) +{ + Miniview *mv = evas_object_smart_data_get(obj); + int remain = 0; + + termio_scroll_get(mv->termio); + EINA_SAFETY_ON_NULL_RETURN(mv); + if ((mv->screen.pos_val <= 1.0) && (mv->screen.pos_val >= 0.0)) + edje_object_signal_emit(mv->base, "miniview_screen,inbounds", "miniview"); + + if (!mv->fits_to_img) + { +mv->screen.pos_val += (double) by / (mv->img_h - mv->rows); +edje_object_part_drag_value_set(mv->base, "miniview_screen", +0.0, mv->screen.pos_val); +if ((mv->screen.p
[EGIT] [apps/terminology] master 01/01: lz4: fix shadow variables, again…
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=3afe93fd71f4df7a6f64eb7286399496eb9be737 commit 3afe93fd71f4df7a6f64eb7286399496eb9be737 Author: Boris Faure Date: Tue Jul 15 12:32:58 2014 +0200 lz4: fix shadow variables, again… --- src/bin/lz4/lz4.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/lz4/lz4.c b/src/bin/lz4/lz4.c index 482a8ed..b30d445 100644 --- a/src/bin/lz4/lz4.c +++ b/src/bin/lz4/lz4.c @@ -986,9 +986,9 @@ FORCE_INLINE int LZ4_decompress_generic( copySize = length+MINMATCH - copySize; if (copySize > (size_t)((char*)op-dest)) /* overlap */ { -BYTE* const cpy = op + copySize; -const BYTE* ref = (BYTE*)dest; -while (op < cpy) *op++ = *ref++; +BYTE* const cpy2 = op + copySize; +const BYTE* ref2 = (BYTE*)dest; +while (op < cpy2) *op++ = *ref2++; } else { --
[EGIT] [apps/terminology] master 01/02: tycat: show a media properly in precise area
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=0f463fc4bf4b6cec792365cb5b51a9fa798c34f4 commit 0f463fc4bf4b6cec792365cb5b51a9fa798c34f4 Author: wonguk.jeong Date: Tue Jul 15 12:18:46 2014 +0200 tycat: show a media properly in precise area Summary: Precise multimedia size/type/aspect ratio could be acquired after first frame has been decoded. Therefore, Fixes T1376 1. put every file in the queue, and handle them one by one 2. in case of video, block queue handling until "frame_decode" callback is invoked. 3. to avoid infinite blocking, put timer for timeout check Test Plan: 1.terminology -> tycat "video file" -> check whether the video size is fit to real video size 2.-> tycat "audio file" -> check whether black area is shown or not Reviewers: billiob, raster Subscribers: seoz Maniphest Tasks: T1376 Differential Revision: https://phab.enlightenment.org/D1192 --- src/bin/tycat.c | 423 +--- 1 file changed, 251 insertions(+), 172 deletions(-) diff --git a/src/bin/tycat.c b/src/bin/tycat.c index 71c2f17..7a3d078 100644 --- a/src/bin/tycat.c +++ b/src/bin/tycat.c @@ -12,17 +12,18 @@ #include enum { - CENTER, - FILL, - STRETCH, - NOIMG + CENTER, + FILL, + STRETCH, + NOIMG }; -Ecore_Evas *ee = NULL; -Evas *evas = NULL; -Evas_Object *o = NULL; -struct termios told, tnew; -int tw = 0, th = 0, cw = 0, ch = 0, maxw = 0, maxh = 0; +#define VIDEO_DECODE_TIMEOUT 1.0 + +static Evas *evas = NULL; +static struct termios told, tnew; +static int tw = 0, th = 0, cw = 0, ch = 0, maxw = 0, maxh = 0, mode = CENTER; +static Ecore_Timer *timeout_t = NULL; #include "extns.h" @@ -67,7 +68,7 @@ static const char * is_fmt(const char *f, const char **extn) { int i, len, l; - + len = strlen(f); for (i = 0; extn[i]; i++) { @@ -126,20 +127,195 @@ print_usage(const char *argv0) argv0); } +static Eina_Bool +timeout_cb(void *data) +{ + evas_object_del(data); + timeout_t = NULL; + + return ECORE_CALLBACK_CANCEL; +} + +static int +handle_image(char *rp) +{ + Evas_Object *o; + int w = 0, h = 0; + int iw = 0, ih = 0; + int r = -1; + + if (!is_fmt(rp, extn_img) && + !is_fmt(rp, extn_scale) && + !is_fmt(rp, extn_mov)) + return -1; + + o = evas_object_image_add(evas); + evas_object_image_file_set(o, rp, NULL); + evas_object_image_size_get(o, &w, &h); + if ((w >= 0) && (h > 0)) + { +scaleterm(w, h, &iw, &ih); +prnt(rp, iw, ih, mode); +r = 0; + } + + evas_object_del(o); + + return r; +} + +static int +handle_edje(char *rp) +{ + Evas_Object *o; + int w = 0, h = 0; + int iw = 0, ih = 0; + int r = -1; + + if (!is_fmt(rp, extn_edj)) return -1; + + o = edje_object_add(evas); + if (edje_object_file_set + (o, rp, "terminology/backgroud") == EINA_TRUE || + !edje_object_file_set + (o, rp, "e/desktop/background") == EINA_TRUE) + { +Evas_Coord mw = 0, mh = 0; +edje_object_size_min_get(o, &mw, &mh); +if ((mw <= 0) || (mh <= 0)) + edje_object_size_min_calc(o, &mw, &mh); +if ((mw <= 0) || (mh <= 0)) + { + mw = (tw) * cw; + mh = (th - 1) * ch; + } +scaleterm(mw, mh, &iw, &ih); +prnt(rp, iw, ih, mode); +r = 0; + } + + evas_object_del(o); + + return r; +} + +static void +video_decoded(void *data, Evas_Object *o, void *ei EINA_UNUSED) +{ + int w = 0, h = 0; + int iw = 0, ih = 0; + + if (emotion_object_video_handled_get(o)) + { +emotion_object_size_get(o, &w, &h); +if ((w >= 0) && (h > 0)) + { + scaleterm(w, h, &iw, &ih); + prnt(data, iw, ih, mode); + goto done; + } +else + { + double ar = emotion_object_ratio_get(o); + if (ar > 0.0) + { + scaleterm(tw * cw, (int) ((tw * cw) / ar), &iw, &ih); + prnt(data, iw, ih, mode); + goto done; + } + } + } + + prnt(data, tw, 3, NOIMG); + +done: + ecore_timer_del(timeout_t); + timeout_t = NULL; + evas_object_del(o); + free(data); +} + +static int +handle_video(char *rp) +{ + Evas_Object *o; + + if (!is_fmt(rp, extn_aud) && + !is_fmt(rp, extn_mov)) + return -1; + + o = emotion_object_add(evas); + if (emotion_object_init(o, NULL) == EINA_TRUE) + { +if (emotion_object_file_set(o, rp)) + { + emotion_object_audio_mute_set(o, EINA_TRUE); + emotion_object_play_set(o, EINA_TRUE); + timeout_t = ecore_timer_add(VIDEO_DECODE_TIMEOUT, + timeout_cb, o); + evas_object_smart_callback_add(
[EGIT] [apps/terminology] master 02/02: fix compiler warnings
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=2833ad913c92fea567249167253fc6236dc717d6 commit 2833ad913c92fea567249167253fc6236dc717d6 Author: Boris Faure Date: Tue Jul 15 12:37:51 2014 +0200 fix compiler warnings --- src/bin/tycat.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/bin/tycat.c b/src/bin/tycat.c index 7a3d078..4834ddd 100644 --- a/src/bin/tycat.c +++ b/src/bin/tycat.c @@ -22,7 +22,7 @@ enum { static Evas *evas = NULL; static struct termios told, tnew; -static int tw = 0, th = 0, cw = 0, ch = 0, maxw = 0, maxh = 0, mode = CENTER; +static int tw = 0, th = 0, cw = 0, ch = 0, maxw = 0, maxh = 0, _mode = CENTER; static Ecore_Timer *timeout_t = NULL; #include "extns.h" @@ -155,7 +155,7 @@ handle_image(char *rp) if ((w >= 0) && (h > 0)) { scaleterm(w, h, &iw, &ih); -prnt(rp, iw, ih, mode); +prnt(rp, iw, ih, _mode); r = 0; } @@ -168,7 +168,6 @@ static int handle_edje(char *rp) { Evas_Object *o; - int w = 0, h = 0; int iw = 0, ih = 0; int r = -1; @@ -190,7 +189,7 @@ handle_edje(char *rp) mh = (th - 1) * ch; } scaleterm(mw, mh, &iw, &ih); -prnt(rp, iw, ih, mode); +prnt(rp, iw, ih, _mode); r = 0; } @@ -211,7 +210,7 @@ video_decoded(void *data, Evas_Object *o, void *ei EINA_UNUSED) if ((w >= 0) && (h > 0)) { scaleterm(w, h, &iw, &ih); - prnt(data, iw, ih, mode); + prnt(data, iw, ih, _mode); goto done; } else @@ -220,7 +219,7 @@ video_decoded(void *data, Evas_Object *o, void *ei EINA_UNUSED) if (ar > 0.0) { scaleterm(tw * cw, (int) ((tw * cw) / ar), &iw, &ih); - prnt(data, iw, ih, mode); + prnt(data, iw, ih, _mode); goto done; } } @@ -344,19 +343,19 @@ main(int argc, char **argv) if (!strcmp(argv[i], "-c")) { - mode = CENTER; + _mode = CENTER; i++; if (i >= argc) goto done; } else if (!strcmp(argv[i], "-s")) { - mode = STRETCH; + _mode = STRETCH; i++; if (i >= argc) goto done; } else if (!strcmp(argv[i], "-f")) { - mode = FILL; + _mode = FILL; i++; if (i >= argc) goto done; } --
[E-devel] Probie access
Hi! I would like to add probie access to Wonguk Jeong (huchi) for his good patches on terminology. Greets -- Boris Faure Pointer Arithmetician signature.asc Description: Digital signature -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Probie access
Yes, he has been doing a very good job. I saw his patches on many different modules not just for terminology. Actually he contributed more on efl itself. zmike and raster have been reviewing his patches. I think he is worthy of having a full access considering his job so far. How do you think? Probie is good for having a branch work and personal repo, but in his case he can just work on master. If he is not sure of his commit, he can raise a patch on phabricator as we suggest to do. Thanks. Daniel Juyung Seo (SeoZ) On Tue, Jul 15, 2014 at 7:54 PM, Boris Faure wrote: > Hi! > > I would like to add probie access to Wonguk Jeong (huchi) for his good > patches on terminology. > > Greets > -- > Boris Faure > Pointer Arithmetician > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 02/02: fix mouse sticking when xkbmap changes whilst running
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=20c8065da6e7090a5bb2dd02987d01d1deedc6df commit 20c8065da6e7090a5bb2dd02987d01d1deedc6df Author: Carsten Haitzler (Rasterman) Date: Tue Jul 15 20:38:34 2014 +0900 fix mouse sticking when xkbmap changes whilst running this fixes T1415 --- src/lib/ecore_x/xlib/ecore_x.c | 19 +-- src/lib/ecore_x/xlib/ecore_x_events.c | 21 + src/lib/ecore_x/xlib/ecore_x_private.h | 2 -- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c index e1469c8..db1cfa4 100644 --- a/src/lib/ecore_x/xlib/ecore_x.c +++ b/src/lib/ecore_x/xlib/ecore_x.c @@ -1714,9 +1714,8 @@ ecore_x_window_button_grab(Ecore_X_Window win, _ecore_window_grabs[_ecore_window_grabs_num - 1].any_mod = any_mod; } -void -_ecore_x_sync_magic_send(int val, - Ecore_X_Window swin) +static void +_ecore_x_sync_magic_send(int val, Ecore_X_Window swin, int b, int mod, int anymod) { XEvent xev; @@ -1728,10 +1727,10 @@ _ecore_x_sync_magic_send(int val, xev.xclient.format = 32; xev.xclient.message_type = 2; xev.xclient.data.l[0] = 0x7162534; - xev.xclient.data.l[1] = 0x1000 + val; + xev.xclient.data.l[1] = val | (anymod << 8); xev.xclient.data.l[2] = swin; - xev.xclient.data.l[3] = 0; - xev.xclient.data.l[4] = 0; + xev.xclient.data.l[3] = b; + xev.xclient.data.l[4] = mod; XSendEvent(_ecore_x_disp, _ecore_x_private_win, False, NoEventMask, &xev); } @@ -1815,8 +1814,8 @@ ecore_x_window_button_ungrab(Ecore_X_Window win, int any_mod) { _ecore_x_window_button_ungrab_internal(win, button, mod, any_mod); - _ecore_x_sync_magic_send(1, win); - _ecore_x_window_grab_remove(win, button, mod, any_mod); + _ecore_x_sync_magic_send(1, win, button, mod, any_mod); +// _ecore_x_window_grab_remove(win, button, mod, any_mod); } void _ecore_x_window_grab_suspend(void) @@ -2025,8 +2024,8 @@ ecore_x_window_key_ungrab(Ecore_X_Window win, int any_mod) { _ecore_x_window_key_ungrab_internal(win, key, mod, any_mod); - _ecore_x_sync_magic_send(2, win); - _ecore_x_key_grab_remove(win, key, mod, any_mod); + _ecore_x_sync_magic_send(2, win, XStringToKeysym(key), mod, any_mod); +// _ecore_x_key_grab_remove(win, key, mod, any_mod); } void diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c b/src/lib/ecore_x/xlib/ecore_x_events.c index 9bb54fe..d4049d2 100644 --- a/src/lib/ecore_x/xlib/ecore_x_events.c +++ b/src/lib/ecore_x/xlib/ecore_x_events.c @@ -1918,11 +1918,24 @@ _ecore_x_event_handle_client_message(XEvent *xevent) && (xevent->xclient.format == 32) && (xevent->xclient.window == _ecore_x_private_win)) { +int val = xevent->xclient.data.l[1] & 0xff; +int anymod = (xevent->xclient.data.l[1] >> 8) & 0xff; +int mod = xevent->xclient.data.l[4]; +int b = xevent->xclient.data.l[3]; +Ecore_X_Window swin = xevent->xclient.data.l[2]; + /* a grab sync marker */ -if (xevent->xclient.data.l[1] == 0x1001) - _ecore_x_window_grab_remove(xevent->xclient.data.l[2], -1, 0, 0); -else if (xevent->xclient.data.l[1] == 0x1002) - _ecore_x_key_grab_remove(xevent->xclient.data.l[2], NULL, 0, 0); +if (val == 1) + { + _ecore_x_window_grab_remove(swin, b, mod, anymod); + } +else if (val == 2) + { + const char *str; + + str = ecore_x_keysym_string_get(b); + if (str) _ecore_x_key_grab_remove(swin, str, mod, anymod); + } } else { diff --git a/src/lib/ecore_x/xlib/ecore_x_private.h b/src/lib/ecore_x/xlib/ecore_x_private.h index 10c7cb2..cbfa4f7 100644 --- a/src/lib/ecore_x/xlib/ecore_x_private.h +++ b/src/lib/ecore_x/xlib/ecore_x_private.h @@ -299,8 +299,6 @@ void *_ecore_x_selection_parse(const char *target, int size, int format); -void _ecore_x_sync_magic_send(int val, - Ecore_X_Window swin); int _ecore_x_window_grab_remove(Ecore_X_Window win, int button, int mod, int any_mod); int _ecore_x_key_grab_remove(Ecore_X_Window win, const char *key, int mod, int any_mod); void _ecore_x_window_grab_suspend(void); --
[EGIT] [core/efl] master 01/02: new eina api/object - eina thread queues
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3c130836adc2e65997213ee75669e729d7304b7a commit 3c130836adc2e65997213ee75669e729d7304b7a Author: Carsten Haitzler (Rasterman) Date: Tue Jul 15 17:02:07 2014 +0900 new eina api/object - eina thread queues @feature This is a new feature for eina (and EFL) - a zero-copy thread message queue for sending messages from one thread to another or from the ecore mainloop to or back to the mainloop from threads. It has a complete test suite too. --- src/Makefile_Ecore.am | 1 + src/Makefile_Eina.am | 6 +- src/lib/eina/Eina.h| 1 + src/lib/eina/eina_main.c | 4 +- src/lib/eina/eina_thread_queue.c | 512 ++ src/lib/eina/eina_thread_queue.h | 262 + src/tests/ecore/ecore_suite.c | 1 + src/tests/ecore/ecore_suite.h | 1 + .../ecore_test_ecore_thread_eina_thread_queue.c| 583 + 9 files changed, 1368 insertions(+), 3 deletions(-) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index f43be40..b8404b4 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -188,6 +188,7 @@ tests/ecore/ecore_test_ecore_imf.c \ tests/ecore/ecore_test_timer.c \ tests/ecore/ecore_test_ecore_evas.c \ tests/ecore/ecore_test_animator.c \ +tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c \ tests/ecore/ecore_suite.h tests_ecore_ecore_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am index c5caacc..ada2761 100644 --- a/src/Makefile_Eina.am +++ b/src/Makefile_Eina.am @@ -81,7 +81,8 @@ lib/eina/eina_inline_lock_barrier.x \ lib/eina/eina_tmpstr.h \ lib/eina/eina_alloca.h \ lib/eina/eina_cow.h \ -lib/eina/eina_inline_unicode.x +lib/eina/eina_inline_unicode.x \ +lib/eina/eina_thread_queue.h # Will be back for developper after 1.2. # lib/eina/eina_model.h @@ -144,7 +145,8 @@ lib/eina/eina_value.c \ lib/eina/eina_xattr.c \ lib/eina/eina_share_common.h \ lib/eina/eina_private.h \ -lib/eina/eina_strbuf_common.h +lib/eina/eina_strbuf_common.h \ +lib/eina/eina_thread_queue.c # Will be back for developper after 1.2 # lib/eina/eina_model.c \ diff --git a/src/lib/eina/Eina.h b/src/lib/eina/Eina.h index e22d6e2..ccde5c1 100644 --- a/src/lib/eina/Eina.h +++ b/src/lib/eina/Eina.h @@ -263,6 +263,7 @@ extern "C" { #include "eina_xattr.h" #include "eina_value.h" #include "eina_cow.h" +#include "eina_thread_queue.h" #ifdef __cplusplus } diff --git a/src/lib/eina/eina_main.c b/src/lib/eina/eina_main.c index fc54e02..d4edb24 100644 --- a/src/lib/eina/eina_main.c +++ b/src/lib/eina/eina_main.c @@ -158,6 +158,7 @@ EAPI Eina_Inlist *_eina_tracking = NULL; S(thread); S(cow); S(cpu); + S(thread_queue); /* no model for now S(model); */ @@ -201,7 +202,8 @@ static const struct eina_desc_setup _eina_desc_setup[] = { S(tmpstr), S(thread), S(cow), - S(cpu) + S(cpu), + S(thread_queue) /* no model for now S(model) */ diff --git a/src/lib/eina/eina_thread_queue.c b/src/lib/eina/eina_thread_queue.c new file mode 100644 index 000..3a999aa --- /dev/null +++ b/src/lib/eina/eina_thread_queue.c @@ -0,0 +1,512 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include "Eina.h" +#include "eina_thread_queue.h" +#include "eina_safety_checks.h" + +#ifdef __ATOMIC_RELAXED +#define ATOMIC 1 +#endif + +// use spinlocks for read/write locks as they lead to more throughput and +// these locks are meant to be held very temporarily, if there is any +// contention at all +#define RW_SPINLOCK 1 + +#ifdef RW_SPINLOCK +#define RWLOCK Eina_Spinlock +#define RWLOCK_NEW(x)eina_spinlock_new(x) +#define RWLOCK_FREE(x) eina_spinlock_free(x) +#define RWLOCK_LOCK(x) eina_spinlock_take(x) +#define RWLOCK_UNLOCK(x) eina_spinlock_release(x) +#else +#define RWLOCK Eina_Lock +#define RWLOCK_NEW(x)eina_lock_new(x) +#define RWLOCK_FREE(x) eina_lock_free(x) +#define RWLOCK_LOCK(x) eina_lock_take(x) +#define RWLOCK_UNLOCK(x) eina_lock_release(x) +#endif + +typedef struct _Eina_Thread_Queue_Msg_Block Eina_Thread_Queue_Msg_Block; + +struct _Eina_Thread_Queue +{ + Eina_Thread_Queue_Msg_Block *data; // all the data being written to + Eina_Thread_Queue_Msg_Block *last; // the last block where new data goes + Eina_Thread_Queue_Msg_Block *read; // block when reading starts from data + Eina_Thread_Queue*parent; // parent queue to wake on send + RWLOCKlock_read; // a lock for when doing reads + RWLOCKlock_write; // a lock for doing writes + Eina_Semaphoresem; // signalling - one per message +#ifndef ATOMIC + Eina_Spinlock lock_
Re: [E-devel] Unable to login phabricator using google account
Hi, ACK, thanks for the report. We are looking into it. Thanks On 2014-07-15 07:20, Gwanglim Lee wrote: > Hi all, > > Recently, I can't login on https://phab.enlightenment.org. I'm using > google accounts to login the e phab. But login is failing with > "accessNotConfigured" error. > > Unhandled Exception ("PhutilAuthConfigurationException") > Google returned an "accessNotConfigured" error. This usually means you > need to enable the "Google+ API" in your Google Cloud Console, under > "APIs". > > Around March 2014, Google made some API changes which require this > configuration adjustment. > > Normally, you can resolve this issue by going to > https://console.developers.google.com/, then clicking "API Project", > then "APIs & auth", then turning the "Google+ API" on. The names you > see on the console may be different depending on how your integration > is set up. If you are not sure, you can hunt through the projects > until you find the one associated with the right Application ID under > "Credentials". The Application ID this install is using is > "1095192845546.apps.googleusercontent.com". > > (If you are unable to log into Phabricator, you can use "bin/auth > recover" to recover access to an administrator account.) > > Full HTTP Response > > { > "error": { > "errors": [ >{ > "domain": "usageLimits", > "reason": "accessNotConfigured", > "message": "Access Not Configured. Please use Google Developers > Console to activate the API for your project." >} > ], > "code": 403, > "message": "Access Not Configured. Please use Google Developers > Console to activate the API for your project." > } > } > > I've found some phabricator patches to resolve this kind of problem. > https://secure.phabricator.com/T4676 > https://secure.phabricator.com/D8612 > > Is it phabricator upgrade problem or my-own problem? > Is anybody having same trouble as me? > > Thanks, > Gwanglim > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [tools/enventor] master 01/01: editor - increase lines by one function call.
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=544965020c58725bc12ce0f13be637efa6661494 commit 544965020c58725bc12ce0f13be637efa6661494 Author: ChunEon Park Date: Tue Jul 15 22:16:23 2014 +0900 editor - increase lines by one function call. --- src/bin/edc_editor.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c index 1b49fff..7b6a4ef 100644 --- a/src/bin/edc_editor.c +++ b/src/bin/edc_editor.c @@ -473,10 +473,8 @@ edit_template_insert(edit_data *ed) { elm_entry_entry_insert(ed->en_edit, p); elm_entry_entry_insert(ed->en_edit, t[i]); -//Incease line by (line count - 1) -line_increase(ed, 1); } - + line_increase(ed, (line_cnt - 1)); elm_entry_entry_insert(ed->en_edit, p); elm_entry_entry_insert(ed->en_edit, t[i]); --
[EGIT] [core/efl] master 04/15: ecore-drm: Add necessary headers for dbus and systemd-login
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6935c4febd2626c1fb840767517f8c8ec9d50728 commit 6935c4febd2626c1fb840767517f8c8ec9d50728 Author: Chris Michael Date: Fri Jul 11 14:50:57 2014 -0400 ecore-drm: Add necessary headers for dbus and systemd-login This feature allows us to open input devices and receive events from them as a normal user without the need for special input device permissions, or the need for a slave suid binary. NB: This will only wor with dbus & systemd support @feature Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_private.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore_drm/ecore_drm_private.h b/src/lib/ecore_drm/ecore_drm_private.h index 16c89f6..c6cdb1c 100644 --- a/src/lib/ecore_drm/ecore_drm_private.h +++ b/src/lib/ecore_drm/ecore_drm_private.h @@ -4,6 +4,7 @@ # include "Ecore.h" # include "ecore_private.h" # include "Ecore_Input.h" +# include "Eldbus.h" # include # include @@ -16,6 +17,7 @@ # include # include //# include +# include # include # include --
[EGIT] [core/efl] master 15/15: Merge branch 'devs/devilhorns/systemd'
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8914e60f155ddb35eb49b7334ff98fb7dedefd49 commit 8914e60f155ddb35eb49b7334ff98fb7dedefd49 Merge: 20c8065 9c20a1b Author: Chris Michael Date: Tue Jul 15 09:44:53 2014 -0400 Merge branch 'devs/devilhorns/systemd' Merge in the new ecore-drm input code which allows us to open and read from input devices as a normal user without any special permissions or suid binaries @feature configure.ac | 2 +- src/Makefile_Ecore_Drm.am | 25 +- src/bin/ecore_drm/.gitignore | 1 - src/bin/ecore_drm/ecore_drm_launch.c | 411 - src/lib/ecore_drm/ecore_drm.c | 308 + src/lib/ecore_drm/ecore_drm_dbus.c| 819 ++ src/lib/ecore_drm/ecore_drm_device.c | 34 +- src/lib/ecore_drm/ecore_drm_evdev.c | 5 +- src/lib/ecore_drm/ecore_drm_inputs.c | 17 +- src/lib/ecore_drm/ecore_drm_private.h | 49 +- src/lib/ecore_drm/ecore_drm_tty.c | 10 +- 11 files changed, 869 insertions(+), 812 deletions(-) --
[EGIT] [core/efl] master 06/15: ecore-drm: Cleanup ecore_drm private header
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=121be16f3a454de70b7847677d28352912f423ba commit 121be16f3a454de70b7847677d28352912f423ba Author: Chris Michael Date: Fri Jul 11 18:26:41 2014 -0400 ecore-drm: Cleanup ecore_drm private header Remove support for logging to a file. Fix ecore_drm_dbus function prototypes Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_private.h | 42 ++- 1 file changed, 7 insertions(+), 35 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_private.h b/src/lib/ecore_drm/ecore_drm_private.h index c6cdb1c..cb4ec2e 100644 --- a/src/lib/ecore_drm/ecore_drm_private.h +++ b/src/lib/ecore_drm/ecore_drm_private.h @@ -74,39 +74,11 @@ extern int _ecore_drm_log_dom; /* FIXME: Get slots from evdev device */ #define EVDEV_MAX_SLOTS 32 -/* undef this for non-testing builds */ -//# define LOG_TO_FILE - -# ifdef LOG_TO_FILE -extern FILE *lg; - -# define ERR(...) \ - EINA_LOG_DOM_ERR(_ecore_drm_log_dom, __VA_ARGS__); \ - fflush(lg); - -# define DBG(...) \ - EINA_LOG_DOM_DBG(_ecore_drm_log_dom, __VA_ARGS__); \ - fflush(lg); - -# define INF(...) \ - EINA_LOG_DOM_INFO(_ecore_drm_log_dom, __VA_ARGS__); \ - fflush(lg); - -# define WRN(...) \ - EINA_LOG_DOM_WARN(_ecore_drm_log_dom, __VA_ARGS__); \ - fflush(lg); - -# define CRIT(...) \ - EINA_LOG_DOM_CRIT(_ecore_drm_log_dom, __VA_ARGS__); \ - fflush(lg); - -# else -# define ERR(...) EINA_LOG_DOM_ERR(_ecore_drm_log_dom, __VA_ARGS__) -# define DBG(...) EINA_LOG_DOM_DBG(_ecore_drm_log_dom, __VA_ARGS__) -# define INF(...) EINA_LOG_DOM_INFO(_ecore_drm_log_dom, __VA_ARGS__) -# define WRN(...) EINA_LOG_DOM_WARN(_ecore_drm_log_dom, __VA_ARGS__) -# define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_drm_log_dom, __VA_ARGS__) -# endif +#define ERR(...) EINA_LOG_DOM_ERR(_ecore_drm_log_dom, __VA_ARGS__) +#define DBG(...) EINA_LOG_DOM_DBG(_ecore_drm_log_dom, __VA_ARGS__) +#define INF(...) EINA_LOG_DOM_INFO(_ecore_drm_log_dom, __VA_ARGS__) +#define WRN(...) EINA_LOG_DOM_WARN(_ecore_drm_log_dom, __VA_ARGS__) +#define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_drm_log_dom, __VA_ARGS__) extern struct udev *udev; @@ -253,8 +225,8 @@ struct _Ecore_Drm_Sprite unsigned int formats[]; }; -void _ecore_drm_message_send(int opcode, int fd, void *data, size_t bytes); -Eina_Bool _ecore_drm_message_receive(int opcode, int *fd, void **data, size_t bytes); +Eina_Bool _ecore_drm_dbus_init(const char *session); +void _ecore_drm_dbus_shutdown(const char *session); Ecore_Drm_Evdev *_ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, const char *path, int fd); void _ecore_drm_evdev_device_destroy(Ecore_Drm_Evdev *evdev); --
[EGIT] [core/efl] master 07/15: ecore-drm: Remove eldbus dependency
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d486de9f6264928d66b6683593a02afe006dc234 commit d486de9f6264928d66b6683593a02afe006dc234 Author: Chris Michael Date: Tue Jul 15 09:25:55 2014 -0400 ecore-drm: Remove eldbus dependency Eldbus works asynchronously, but we need syncronous method calls to get the replies from opening input devices, so let's just use normal dbus Signed-off-by: Chris Michael --- configure.ac | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 04e49cd..7bfdc85 100644 --- a/configure.ac +++ b/configure.ac @@ -2805,11 +2805,10 @@ AC_SUBST([SUID_LDFLAGS]) ### Checks for libraries EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input]) -EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina]) -EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0 libsystemd >= 192 libsystemd-login >= 192]) +EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0 libsystemd >= 192 libsystemd-login >= 192 dbus-1]) EFL_EVAL_PKGS([ECORE_DRM]) --
[EGIT] [core/efl] master 10/15: ecore-drm: Add ecore_drm_dbus file for dbus functions
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=be325af372360df0489f371895ceb03afd47f078 commit be325af372360df0489f371895ceb03afd47f078 Author: Chris Michael Date: Tue Jul 15 09:28:57 2014 -0400 ecore-drm: Add ecore_drm_dbus file for dbus functions Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_dbus.c | 819 + 1 file changed, 819 insertions(+) diff --git a/src/lib/ecore_drm/ecore_drm_dbus.c b/src/lib/ecore_drm/ecore_drm_dbus.c new file mode 100644 index 000..1998602 --- /dev/null +++ b/src/lib/ecore_drm/ecore_drm_dbus.c @@ -0,0 +1,819 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "ecore_drm_private.h" +#include + +static DBusConnection *conn; +static DBusPendingCall *dpending; +static Ecore_Fd_Handler *_dbus_hdlr; +static Ecore_Fd_Handler *_watch_hdlr; +static char *dpath; +static const char *sid; + +static void +_dbus_session_removed(DBusMessage *msg) +{ + const char *n, *o; + dbus_bool_t ret; + + ret = dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &n, + DBUS_TYPE_OBJECT_PATH, &o, DBUS_TYPE_INVALID); + if (!ret) return; + + if (!strcmp(n, sid)) + { +ERR("DBus Session Closed"); +//ecore_main_loop_quit(); + } +} + +static void +_dbus_cb_notify(DBusPendingCall *pending, void *data EINA_UNUSED) +{ + DBusMessage *msg; + DBusMessageIter iter, s; + dbus_bool_t ret; + int type = 0; + + dbus_pending_call_unref(dpending); + dpending = NULL; + + msg = dbus_pending_call_steal_reply(pending); + if (!msg) return; + + type = dbus_message_get_type(msg); + if (type != DBUS_MESSAGE_TYPE_METHOD_RETURN) goto err; + + if ((!dbus_message_iter_init(msg, &iter)) || + (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT)) + goto err; + + dbus_message_iter_recurse(&iter, &s); + + if (dbus_message_iter_get_arg_type(&s) != DBUS_TYPE_BOOLEAN) + goto err; + + dbus_message_iter_get_basic(&s, &ret); + if (!ret) + { +/* TODO: emit active signal to compositor ? */ + } + +err: + dbus_message_unref(msg); +} + +static void +_dbus_active_get(void) +{ + DBusPendingCall *pend; + DBusMessage *msg; + dbus_bool_t ret; + const char *iface, *n; + + msg = + dbus_message_new_method_call("org.freedesktop.login1", dpath, + "org.freedesktop.DBus.Properties", "Get"); + if (!msg) return; + + iface = "org.freedesktop.login1.Session"; + n = "Active"; + + ret = dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, + DBUS_TYPE_STRING, &n, DBUS_TYPE_INVALID); + if (!ret) goto err; + + ret = dbus_connection_send_with_reply(conn, msg, &pend, -1); + if (!ret) goto err; + + ret = dbus_pending_call_set_notify(pend, _dbus_cb_notify, NULL, NULL); + if (!ret) + { +dbus_pending_call_cancel(pend); +dbus_pending_call_unref(pend); +goto err; + } + + if (dpending) + { +dbus_pending_call_cancel(dpending); +dbus_pending_call_unref(dpending); + } + + dpending = pend; + + return; + +err: + dbus_message_unref(msg); +} + +static void +_dbus_property_changed(DBusMessage *msg) +{ + DBusMessageIter iter, s, ent; + const char *iface, *n; + dbus_bool_t ret; + + if ((!dbus_message_iter_init(msg, &iter)) || + (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)) + return; + + dbus_message_iter_get_basic(&iter, &iface); + + if ((!dbus_message_iter_next(&iter)) || + (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)) + return; + + dbus_message_iter_recurse(&iter, &s); + while (dbus_message_iter_get_arg_type(&s) == DBUS_TYPE_DICT_ENTRY) + { +dbus_message_iter_recurse(&s, &ent); +if (dbus_message_iter_get_arg_type(&ent) != DBUS_TYPE_STRING) + return; + +dbus_message_iter_get_basic(&ent, &n); +if (!dbus_message_iter_next(&ent)) return; + +if (!strcmp(n, "Active")) + { + if (dbus_message_iter_get_arg_type(&ent) == DBUS_TYPE_BOOLEAN) + { + dbus_message_iter_get_basic(&ent, &ret); + if (!ret) +{ + /* TODO: emit active signal to compositor ? */ +} + return; + } + } + +dbus_message_iter_next(&s); + } + + if ((!dbus_message_iter_next(&iter)) || + (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY)) + return; + + dbus_message_iter_recurse(&iter, &s); + while (dbus_message_iter_get_arg_type(&s) == DBUS_TYPE_STRING) + { +dbus_message_iter_get_basic(&s, &n); +if (!strcmp(n, "Active")) + { + _dbus_active_get(); + return; + } + +dbus_message_iter_next(&s); + } +} + +stat
[EGIT] [core/efl] master 03/15: ecore-drm: Remove ecore_drm binary files
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=30b048b3b0bce46db6d4e6922646abbedfe26a7e commit 30b048b3b0bce46db6d4e6922646abbedfe26a7e Author: Chris Michael Date: Fri Jul 11 14:47:39 2014 -0400 ecore-drm: Remove ecore_drm binary files We no longer need the ecore_drm_launch binary to open input devices. Signed-off-by: Chris Michael --- src/bin/ecore_drm/.gitignore | 1 - src/bin/ecore_drm/ecore_drm_launch.c | 411 --- 2 files changed, 412 deletions(-) diff --git a/src/bin/ecore_drm/.gitignore b/src/bin/ecore_drm/.gitignore deleted file mode 100644 index 055a357..000 --- a/src/bin/ecore_drm/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/ecore_drm_launch diff --git a/src/bin/ecore_drm/ecore_drm_launch.c b/src/bin/ecore_drm/ecore_drm_launch.c deleted file mode 100644 index cfbd658..000 --- a/src/bin/ecore_drm/ecore_drm_launch.c +++ /dev/null @@ -1,411 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -/* standard headers */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -/* #include */ -/* #include */ - -/* #include */ -/* #include */ -/* #include */ - -#include -#include -#include - -#include -#include - -#define RIGHTS_LEN CMSG_LEN(sizeof(int)) - -#define IOVSET(_iov, _addr, _len) \ - (_iov)->iov_base = (void *)(_addr); \ - (_iov)->iov_len = (_len); - -/* local prototypes */ -static int _send_msg(int opcode, int fd, void *data, size_t bytes); - -/* local variables */ -static struct cmsghdr *cmsgptr = NULL; -static int _read_fd = -1; -static int _write_fd = -1; - -static int -_open_device(const char *device) -{ - int fd = -1, ret = ECORE_DRM_OP_SUCCESS; - - if (!device) - { -ret = ECORE_DRM_OP_FAILURE; -_send_msg(ECORE_DRM_OP_DEVICE_OPEN, fd, &ret, sizeof(int)); -return ret; - } - - fprintf(stderr, "Launcher Trying to Open Device: %s\n", device); - - if ((fd = open(device, O_RDWR | O_NONBLOCK)) < 0) - { -fprintf(stderr, "Failed to Open Device: %s: %m\n", device); -ret = ECORE_DRM_OP_FAILURE; - } - else - fprintf(stderr, "Launcher Opened Device: %s %d\n", device, fd); - - _send_msg(ECORE_DRM_OP_DEVICE_OPEN, fd, &ret, sizeof(int)); - - return ret; -} - -static int -_close_device(int fd) -{ - int ret = ECORE_DRM_OP_SUCCESS; - - if (!fd) - { -ret = ECORE_DRM_OP_FAILURE; -_send_msg(ECORE_DRM_OP_DEVICE_CLOSE, fd, &ret, sizeof(int)); -return ret; - } - - close(fd); - - _send_msg(ECORE_DRM_OP_DEVICE_CLOSE, fd, &ret, sizeof(int)); - - return ret; -} - -static int -_open_tty(const char *name) -{ - int fd = -1, ret = ECORE_DRM_OP_SUCCESS; - /* struct stat st; */ - - if (!name) goto fail; - - fprintf(stderr, "Launcher Trying to Open Tty: %s\n", name); - - if ((fd = open(name, O_RDWR | O_NOCTTY)) < 0) - { -fprintf(stderr, "Failed to Open Tty: %s: %m\n", name); -goto fail; - } - else - fprintf(stderr, "Launcher Opened Tty: %s %d\n", name, fd); - - /* if ((fstat(fd, &st) == -1) || */ - /* (major(st.st_rdev) != TTY_MAJOR) || (minor(st.st_rdev) == 0)) */ - /* { */ - /* fprintf(stderr, "%d is Not a Tty\n", fd); */ - /* goto fail; */ - /* } */ - - _send_msg(ECORE_DRM_OP_TTY_OPEN, fd, &ret, sizeof(int)); - - return ret; - -fail: - if (fd > -1) close(fd); - fd = -1; - ret = ECORE_DRM_OP_FAILURE; - _send_msg(ECORE_DRM_OP_DEVICE_OPEN, fd, &ret, sizeof(int)); - return ret; -} - -static int -_drop_master(int fd) -{ - int ret = ECORE_DRM_OP_SUCCESS; - - fprintf(stderr, "Drop Master: %d\n", fd); - - if (drmDropMaster(fd) != 0) - { -ret = ECORE_DRM_OP_FAILURE; -fprintf(stderr, "\tFailed to drop master: %m\n"); - } - - _send_msg(ECORE_DRM_OP_DEVICE_MASTER_DROP, fd, &ret, sizeof(int)); - - close(fd); - - return ret; -} - -static int -_set_master(int fd) -{ - int ret = ECORE_DRM_OP_SUCCESS; - - fprintf(stderr, "Set Master: %d\n", fd); - - if (drmSetMaster(fd) != 0) - { -ret = ECORE_DRM_OP_FAILURE; -fprintf(stderr, "\tFailed to set master: %m\n"); - } - - _send_msg(ECORE_DRM_OP_DEVICE_MASTER_SET, fd, &ret, sizeof(int)); - - close(fd); - - return ret; -} - -static int -_read_fd_get(void) -{ - char *ev, *end; - int fd = -1, flags = -1; - - if (!(ev = getenv("ECORE_DRM_LAUNCHER_SOCKET_READ"))) - return -1; - - fd = strtol(ev, &end, 0); - if (*end != '\0') return -1; - - flags = fcntl(fd, F_GETFD); - if (flags < 0) return -1; - - fprintf(stderr, "Got Read FD: %d\n", fd); - - return fd; -} - -static int -_write_fd_get(void) -{ - char *ev, *end; - int fd = -1, flags = -1; - - if (!(ev = getenv("ECORE_DRM_LAUNCHER_SOCKET_WRITE"))) - return -1; - - fd = strtol(ev, &end, 0); - if (*end != '\0') return
[EGIT] [core/efl] master 09/15: ecore-drm: Cleanup ecore_drm init/shutdown functions
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=61070f779fa73fbb515c72c905affe27c9874c7c commit 61070f779fa73fbb515c72c905affe27c9874c7c Author: Chris Michael Date: Tue Jul 15 09:28:03 2014 -0400 ecore-drm: Cleanup ecore_drm init/shutdown functions As we don't need to spawn the suid binary anymore, we can remove all the old code that was doing socketpair, passing messages, etc, etc. Replace with proper ecore_drm_dbus function calls. Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm.c | 308 ++ 1 file changed, 14 insertions(+), 294 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm.c b/src/lib/ecore_drm/ecore_drm.c index 0c938cb..6900e67 100644 --- a/src/lib/ecore_drm/ecore_drm.c +++ b/src/lib/ecore_drm/ecore_drm.c @@ -3,256 +3,14 @@ #endif #include "ecore_drm_private.h" -#include -#include -#include - -#define RIGHTS_LEN CMSG_LEN(sizeof(int)) - -#define IOVSET(_iov, _addr, _len) \ - (_iov)->iov_base = (void *)(_addr); \ - (_iov)->iov_len = (_len); /* local variables */ static int _ecore_drm_init_count = 0; -static int _ecore_drm_sockets[2] = { -1, -1 }; -static struct cmsghdr *cmsgptr = NULL; +static char *sid; /* external variables */ struct udev *udev; int _ecore_drm_log_dom = -1; -#ifdef LOG_TO_FILE -FILE *lg; -#endif - -static Eina_Bool -_ecore_drm_sockets_create(void) -{ - if (_ecore_drm_sockets[0] > -1) return EINA_TRUE; - - /* create a pair of sequenced sockets (fixed-length) -* NB: when reading from one of these, it is required that we read -* an entire packet with each read() call */ - if (socketpair(AF_LOCAL, SOCK_SEQPACKET | SOCK_NONBLOCK, - 0, _ecore_drm_sockets) < 0) - { -ERR("Socketpair Failed: %m"); -return EINA_FALSE; - } - - /* NB: We don't want cloexec for the sockets. That would cause them to be -* closed when we exec the child process but we need them open so that -* we can pass messages */ - /* if (fcntl(_ecore_drm_sockets[0], F_SETFD, FD_CLOEXEC) < 0) */ - /* { */ - /* ERR("Failed to set CLOEXEC: %m"); */ - /* return EINA_FALSE; */ - /* } */ - - /* DBG("Parent Socket: %d", _ecore_drm_sockets[0]); */ - /* DBG("Child Socket: %d", _ecore_drm_sockets[1]); */ - - return EINA_TRUE; -} - -static Eina_Bool -_ecore_drm_launcher_spawn(void) -{ - pid_t pid; - - if ((pid = fork()) < 0) return EINA_FALSE; - - if (pid == 0) - { -char renv[64], wenv[64], buff[PATH_MAX]; -char *args[1] = { NULL }; -sigset_t mask; - -/* read socket for slave is 1 */ -snprintf(renv, sizeof(renv), "ECORE_DRM_LAUNCHER_SOCKET_READ=%d", - _ecore_drm_sockets[1]); - -/* write socket for slave is 0 */ -snprintf(wenv, sizeof(wenv), "ECORE_DRM_LAUNCHER_SOCKET_WRITE=%d", - _ecore_drm_sockets[0]); - -/* assemble exec path */ -snprintf(buff, sizeof(buff), - "%s/ecore_drm/bin/%s/ecore_drm_launch", - PACKAGE_LIB_DIR, MODULE_ARCH); - -/* don't give our signal mask to the child */ -sigemptyset(&mask); -sigaddset(&mask, SIGTERM); -sigaddset(&mask, SIGCHLD); -sigaddset(&mask, SIGINT); -sigaddset(&mask, SIGTTIN); -sigaddset(&mask, SIGTTOU); -sigprocmask(SIG_UNBLOCK, &mask, NULL); - -/* NB: We need to use execve here so that capabilities are inherited. - * Also, this should set Our (ecore_drm) effective uid to be the - * owner of the launched process (setuid in this case) */ -char *ev[3] = { strdup(renv), strdup(wenv), NULL }; -execve(buff, args, ev); - } - else - { -int status; - -while (waitpid(pid, &status, WNOHANG) < 0) - if (errno != EINTR) break; - -return EINA_TRUE; - } - - return EINA_FALSE; -} - -static ssize_t -_ecore_drm_socket_send(int opcode, int fd, void *data, size_t bytes) -{ - Ecore_Drm_Message dmsg; - struct iovec iov[2]; - struct msghdr msg; - ssize_t size; - int *iptr; - - /* Simplified version of sending messages. We don't need to send any -* 'credentials' with this as it is just basically an IPC to send over -* our request to the slave process */ - - /* NB: Hmm, don't think we need to set any socket options here */ - - memset(&dmsg, 0, sizeof(dmsg)); - - IOVSET(iov + 0, &dmsg, sizeof(dmsg)); - IOVSET(iov + 1, &data, bytes); - - dmsg.opcode = opcode; - dmsg.size = bytes; - - msg.msg_name = NULL; - msg.msg_namelen = 0; - msg.msg_iov = iov; - msg.msg_iovlen = 2; - msg.msg_flags = 0; - - if ((!cmsgptr) && (!(cmsgptr = malloc(RIGHTS_LEN - return -1; - - cmsgptr->cmsg_level = SOL_SOCKET; - cmsgptr->cmsg_type = SCM_RIGHTS; - cmsgptr->cmsg_len = RIGHTS_LEN; - - msg.msg_control = cmsgptr; - msg.msg_contro
[EGIT] [core/efl] master 01/15: ecore-drm: Add eldbus, systemd, and systemd-login dependencies
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c696b6af72121da7b940f1d8b9dbf4a33ba690a3 commit c696b6af72121da7b940f1d8b9dbf4a33ba690a3 Author: Chris Michael Date: Fri Jul 11 14:45:00 2014 -0400 ecore-drm: Add eldbus, systemd, and systemd-login dependencies Ecore_Drm will now require dbus, systemd, and systemd-login support in order to open input devices as a normal user Signed-off-by: Chris Michael --- configure.ac | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index aa545e1..04e49cd 100644 --- a/configure.ac +++ b/configure.ac @@ -2805,10 +2805,11 @@ AC_SUBST([SUID_LDFLAGS]) ### Checks for libraries EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input]) +EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina]) -EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0]) +EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0 libsystemd >= 192 libsystemd-login >= 192]) EFL_EVAL_PKGS([ECORE_DRM]) --
[EGIT] [core/efl] master 05/15: ecore-drm: Add dbus file
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5ce304ff8468740831009a4475946f207c4e9408 commit 5ce304ff8468740831009a4475946f207c4e9408 Author: Chris Michael Date: Fri Jul 11 18:26:04 2014 -0400 ecore-drm: Add dbus file Add internal source file for ecore_drm_dbus code Signed-off-by: Chris Michael --- src/Makefile_Ecore_Drm.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile_Ecore_Drm.am b/src/Makefile_Ecore_Drm.am index a6e9a27..8867f37 100644 --- a/src/Makefile_Ecore_Drm.am +++ b/src/Makefile_Ecore_Drm.am @@ -16,6 +16,7 @@ lib/ecore_drm/ecore_drm_inputs.c \ lib/ecore_drm/ecore_drm_output.c \ lib/ecore_drm/ecore_drm_tty.c \ lib/ecore_drm/ecore_drm_device.c \ +lib/ecore_drm/ecore_drm_dbus.c \ lib/ecore_drm/ecore_drm.c \ lib/ecore_drm/ecore_drm_private.h --
[EGIT] [core/efl] master 12/15: ecore-drm: When we destroy any evdev device, also close the associated fd.
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=87049f91243f04f9b1eccc26fc074f6d8d221fff commit 87049f91243f04f9b1eccc26fc074f6d8d221fff Author: Chris Michael Date: Tue Jul 15 09:39:56 2014 -0400 ecore-drm: When we destroy any evdev device, also close the associated fd. Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_evdev.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c b/src/lib/ecore_drm/ecore_drm_evdev.c index 2e5ccac..0f781a4 100644 --- a/src/lib/ecore_drm/ecore_drm_evdev.c +++ b/src/lib/ecore_drm/ecore_drm_evdev.c @@ -772,7 +772,7 @@ _ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, const char *path, int fd) edev->mt_slot = 0; if (ioctl(edev->fd, EVIOCGNAME(sizeof(name)), name) < 0) - DBG("Error getting device name: %m"); + ERR("Error getting device name: %m"); name[sizeof(name) - 1] = '\0'; edev->name = eina_stringshare_add(name); @@ -786,6 +786,7 @@ _ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, const char *path, int fd) if (!_device_configure(edev)) { +ERR("Could not configure input device"); _ecore_drm_evdev_device_destroy(edev); return NULL; } @@ -817,6 +818,8 @@ _ecore_drm_evdev_device_destroy(Ecore_Drm_Evdev *dev) if (dev->name) eina_stringshare_del(dev->name); if (dev->hdlr) ecore_main_fd_handler_del(dev->hdlr); + close(dev->fd); + free(dev); } --
[EGIT] [core/efl] master 14/15: ecore-drm: Reenable setting the VT to graphics mode
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9c20a1b97976ad700df69545bb314ec09f0719a0 commit 9c20a1b97976ad700df69545bb314ec09f0719a0 Author: Chris Michael Date: Tue Jul 15 09:41:29 2014 -0400 ecore-drm: Reenable setting the VT to graphics mode Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_tty.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_tty.c b/src/lib/ecore_drm/ecore_drm_tty.c index b9cd1eb..b100bf6 100644 --- a/src/lib/ecore_drm/ecore_drm_tty.c +++ b/src/lib/ecore_drm/ecore_drm_tty.c @@ -113,11 +113,11 @@ _ecore_drm_tty_setup(Ecore_Drm_Device *dev) /* return EINA_FALSE; */ /* } */ - /* if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS)) */ - /* { */ - /* ERR("Could not set graphics mode: %m"); */ - /* return EINA_FALSE; */ - /* } */ + if (ioctl(dev->tty.fd, KDSETMODE, KD_GRAPHICS)) + { +ERR("Could not set graphics mode: %m"); +return EINA_FALSE; + } vtmode.mode = VT_PROCESS; vtmode.waitv = 0; --
[EGIT] [core/efl] master 08/15: ecore-drm: Remove eldbus header and add dbus header
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e711a294b23d4132a1ff3a0039948e2ca39e3735 commit e711a294b23d4132a1ff3a0039948e2ca39e3735 Author: Chris Michael Date: Tue Jul 15 09:27:19 2014 -0400 ecore-drm: Remove eldbus header and add dbus header Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_private.h | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_private.h b/src/lib/ecore_drm/ecore_drm_private.h index cb4ec2e..1cba3bd 100644 --- a/src/lib/ecore_drm/ecore_drm_private.h +++ b/src/lib/ecore_drm/ecore_drm_private.h @@ -4,19 +4,21 @@ # include "Ecore.h" # include "ecore_private.h" # include "Ecore_Input.h" -# include "Eldbus.h" # include # include # include # include # include -# include # include +# include +# include +# include # include # include //# include +# include # include # include @@ -226,7 +228,8 @@ struct _Ecore_Drm_Sprite }; Eina_Bool _ecore_drm_dbus_init(const char *session); -void _ecore_drm_dbus_shutdown(const char *session); +void _ecore_drm_dbus_shutdown(void); +int _ecore_drm_dbus_device_open(const char *device); Ecore_Drm_Evdev *_ecore_drm_evdev_device_create(Ecore_Drm_Seat *seat, const char *path, int fd); void _ecore_drm_evdev_device_destroy(Ecore_Drm_Evdev *evdev); --
[EGIT] [core/efl] master 11/15: ecore-drm: Fix ecore_drm_device calls to drop & set drm master
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=24ed704c8cc9fb8234792a27f8394ade4140fea2 commit 24ed704c8cc9fb8234792a27f8394ade4140fea2 Author: Chris Michael Date: Tue Jul 15 09:38:25 2014 -0400 ecore-drm: Fix ecore_drm_device calls to drop & set drm master Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_device.c | 34 ++ 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_device.c b/src/lib/ecore_drm/ecore_drm_device.c index daa744b..c571b93 100644 --- a/src/lib/ecore_drm/ecore_drm_device.c +++ b/src/lib/ecore_drm/ecore_drm_device.c @@ -509,17 +509,15 @@ ecore_drm_device_close(Ecore_Drm_Device *dev) EAPI Eina_Bool ecore_drm_device_master_get(Ecore_Drm_Device *dev) { - /* drm_magic_t mag; */ + drm_magic_t mag; /* check for valid device */ if ((!dev) || (dev->drm.fd < 0)) return EINA_FALSE; - /* FIXME: Remote this to the slave process !! */ - /* get if we are master or not */ - /* if ((drmGetMagic(dev->drm.fd, &mag) == 0) && */ - /* (drmAuthMagic(dev->drm.fd, mag) == 0)) */ - /* return EINA_TRUE; */ + if ((drmGetMagic(dev->drm.fd, &mag) == 0) && + (drmAuthMagic(dev->drm.fd, mag) == 0)) + return EINA_TRUE; return EINA_FALSE; } @@ -538,22 +536,12 @@ ecore_drm_device_master_get(Ecore_Drm_Device *dev) EAPI Eina_Bool ecore_drm_device_master_set(Ecore_Drm_Device *dev) { - Eina_Bool ret = EINA_FALSE; - int dfd; - /* check for valid device */ if ((!dev) || (dev->drm.fd < 0)) return EINA_FALSE; DBG("Set Master On Fd: %d", dev->drm.fd); - /* try to close the device */ - _ecore_drm_message_send(ECORE_DRM_OP_DEVICE_MASTER_SET, dev->drm.fd, - NULL, 0); - - /* get the result of the close operation */ - ret = _ecore_drm_message_receive(ECORE_DRM_OP_DEVICE_MASTER_SET, &dfd, -NULL, 0); - if (!ret) return EINA_FALSE; + drmSetMaster(dev->drm.fd); return EINA_TRUE; } @@ -572,22 +560,12 @@ ecore_drm_device_master_set(Ecore_Drm_Device *dev) EAPI Eina_Bool ecore_drm_device_master_drop(Ecore_Drm_Device *dev) { - Eina_Bool ret = EINA_FALSE; - int dfd; - /* check for valid device */ if ((!dev) || (dev->drm.fd < 0)) return EINA_FALSE; DBG("Drop Master On Fd: %d", dev->drm.fd); - /* try to close the device */ - _ecore_drm_message_send(ECORE_DRM_OP_DEVICE_MASTER_DROP, dev->drm.fd, - NULL, 0); - - /* get the result of the close operation */ - ret = _ecore_drm_message_receive(ECORE_DRM_OP_DEVICE_MASTER_DROP, &dfd, -NULL, 0); - if (!ret) return EINA_FALSE; + drmDropMaster(dev->drm.fd); return EINA_TRUE; } --
[EGIT] [core/efl] master 02/15: ecore-drm: Remove ecore_drm_launch binary from Makefile
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8b0fe6804303853296352dee32a2346d29ea68f3 commit 8b0fe6804303853296352dee32a2346d29ea68f3 Author: Chris Michael Date: Fri Jul 11 14:46:35 2014 -0400 ecore-drm: Remove ecore_drm_launch binary from Makefile We will no longer need the ecore_drm_launch binary for opening inputs Signed-off-by: Chris Michael --- src/Makefile_Ecore_Drm.am | 24 1 file changed, 24 deletions(-) diff --git a/src/Makefile_Ecore_Drm.am b/src/Makefile_Ecore_Drm.am index 42b280c..a6e9a27 100644 --- a/src/Makefile_Ecore_Drm.am +++ b/src/Makefile_Ecore_Drm.am @@ -29,28 +29,4 @@ lib_ecore_drm_libecore_drm_la_LIBADD = @ECORE_DRM_LIBS@ lib_ecore_drm_libecore_drm_la_DEPENDENCIES = @ECORE_DRM_INTERNAL_LIBS@ lib_ecore_drm_libecore_drm_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ -### Drm Launch Binary - -ecoredrmlaunchinternal_bindir = $(libdir)/ecore_drm/bin/$(MODULE_ARCH) -ecoredrmlaunchinternal_bin_PROGRAMS = bin/ecore_drm/ecore_drm_launch - -bin_ecore_drm_ecore_drm_launch_SOURCES = \ - bin/ecore_drm/ecore_drm_launch.c - -bin_ecore_drm_ecore_drm_launch_CPPFLAGS = \ - -I$(top_builddir)/src/lib/efl \ - @ECORE_DRM_CFLAGS@ @SUID_CFLAGS@ \ - -DPACKAGE_LIB_DIR=\"$(libdir)\" \ - -DMODULE_ARCH=\"$(MODULE_ARCH)\" - -bin_ecore_drm_ecore_drm_launch_LDADD = \ - @ECORE_DRM_LIBS@ \ - @SUID_LDFLAGS@ - -bin_ecore_drm_ecore_drm_launch_DEPENDENCIES = \ - @USE_ECORE_DRM_INTERNAL_LIBS@ - -setuid_root_mode = a=rx,u+xs -EFL_INSTALL_EXEC_HOOK += @chmod $(setuid_root_mode) $(DESTDIR)$(libdir)/ecore_drm/bin/$(MODULE_ARCH)/ecore_drm_launch$(EXEEXT) || true; - endif --
[EGIT] [core/efl] master 13/15: ecore-drm: Cleanup ecore_drm_input code to add/remove devices
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c043021397899886380570248269004e0c90129c commit c043021397899886380570248269004e0c90129c Author: Chris Michael Date: Tue Jul 15 09:40:39 2014 -0400 ecore-drm: Cleanup ecore_drm_input code to add/remove devices This removes calls to the ecore_drm slave binary, and makes use of our new dbus function calls to open an input device Signed-off-by: Chris Michael --- src/lib/ecore_drm/ecore_drm_inputs.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_inputs.c b/src/lib/ecore_drm/ecore_drm_inputs.c index 61cc134..bb7ceaf 100644 --- a/src/lib/ecore_drm/ecore_drm_inputs.c +++ b/src/lib/ecore_drm/ecore_drm_inputs.c @@ -50,23 +50,18 @@ _device_add(Ecore_Drm_Input *input, struct udev_device *device) node = udev_device_get_devnode(device); strcpy(n, node); - fd = open(n, O_RDWR | O_NONBLOCK); - if (fd == -1) + + fd = _ecore_drm_dbus_device_open(n); + if (fd < 0) { ERR("FAILED TO OPEN %s: %m", n); return EINA_FALSE; } - /* _ecore_drm_message_send(ECORE_DRM_OP_DEVICE_OPEN, -1, n, strlen(n)); */ - /* _ecore_drm_message_receive(ECORE_DRM_OP_DEVICE_OPEN, &fd, NULL, 0); */ - /* DBG("Opened Restricted Input: %s %d", node, fd); */ + + DBG("Opened Restricted Input: %s %d", node, fd); if (!(edev = _ecore_drm_evdev_device_create(seat, node, fd))) - { -close(fd); -/* _ecore_drm_message_send(ECORE_DRM_OP_DEVICE_CLOSE, fd, NULL, 0); */ -/* _ecore_drm_message_receive(ECORE_DRM_OP_DEVICE_OPEN, &fd, NULL, 0); */ -return EINA_FALSE; - } + return EINA_FALSE; seat->devices = eina_list_append(seat->devices, edev); --
[EGIT] [tools/enventor] master 01/01: goto,search - fix gui scalability
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=4db65212a7d522281773b988c73cdcc0e8eaff5e commit 4db65212a7d522281773b988c73cdcc0e8eaff5e Author: ChunEon Park Date: Tue Jul 15 22:59:39 2014 +0900 goto,search - fix gui scalability --- data/themes/default/layout.edc | 2 ++ src/bin/goto.c | 2 ++ src/bin/search.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/data/themes/default/layout.edc b/data/themes/default/layout.edc index 2e46cde..1427867 100644 --- a/data/themes/default/layout.edc +++ b/data/themes/default/layout.edc @@ -7,6 +7,7 @@ group { name: "goto"; parts { part { name: "base"; type: SPACER; + scale: 1; description { state: "default" 0.0; min: 300 67; } @@ -98,6 +99,7 @@ group { name: "search"; parts { part { name: "base"; type: SPACER; + scale: 1; description { state: "default" 0.0; min: 330 90; } diff --git a/src/bin/goto.c b/src/bin/goto.c index 22170b5..9aadc42 100644 --- a/src/bin/goto.c +++ b/src/bin/goto.c @@ -102,6 +102,8 @@ goto_open(edit_data *ed) elm_win_focus_highlight_enabled_set(win, EINA_TRUE); elm_win_title_set(win, "Go to Line"); + win_w = (Evas_Coord) ((double) win_w * elm_config_scale_get()); + win_h = (Evas_Coord) ((double) win_h * elm_config_scale_get()); evas_object_resize(win, win_w, win_h); evas_object_smart_callback_add(win, "delete,request", win_delete_request_cb, gd); diff --git a/src/bin/search.c b/src/bin/search.c index ac7caa0..fc9d67d 100644 --- a/src/bin/search.c +++ b/src/bin/search.c @@ -321,6 +321,8 @@ search_open(edit_data *ed) ELM_WIN_DIALOG_BASIC); elm_win_focus_highlight_enabled_set(win, EINA_TRUE); elm_win_title_set(win, "Find/Replace"); + win_w = (Evas_Coord) ((double) win_w * elm_config_scale_get()); + win_h = (Evas_Coord) ((double) win_h * elm_config_scale_get()); evas_object_resize(win, win_w, win_h); evas_object_smart_callback_add(win, "delete,request", win_delete_request_cb, sd); --
[EGIT] [core/efl] master 01/01: eolian: support for extern structs and typedefs (including API)
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0d0f6e374348dc8810dcc2e3609d5afaf96c4a03 commit 0d0f6e374348dc8810dcc2e3609d5afaf96c4a03 Author: Daniel Kolesa Date: Tue Jul 15 15:33:22 2014 +0100 eolian: support for extern structs and typedefs (including API) --- src/lib/eolian/Eolian.h| 20 src/lib/eolian/database_type_api.c | 20 +++- src/lib/eolian/eo_lexer.h | 4 ++-- src/lib/eolian/eo_parser.c | 30 ++ src/lib/eolian/eolian_database.h | 2 ++ 5 files changed, 69 insertions(+), 7 deletions(-) diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index eea5b02..fa37c19 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -770,6 +770,16 @@ EAPI Eina_Bool eolian_class_dtor_enable_get(const Eolian_Class *klass); EAPI const Eolian_Type *eolian_type_find_by_alias(const char *alias); /* + * @brief Check if a typedef is extern. + * + * @param[in] alias alias of the typedef + * @return EINA_TRUE if it's extern, EINA_FALSE otherwise. + * + * @ingroup Eolian + */ +EAPI Eina_Bool eolian_typedef_is_extern(const char *alias); + +/* * @brief Find a struct by name * * @param[in] name the name of the struct @@ -898,6 +908,16 @@ EAPI Eina_Bool eolian_type_is_own(const Eolian_Type *tp); EAPI Eina_Bool eolian_type_is_const(const Eolian_Type *tp); /* + * @brief Check if a struct type is extern. + * + * @param[in] tp the type. + * @return EINA_TRUE if it's extern, EINA_FALSE otherwise. + * + * @ingroup Eolian + */ +EAPI Eina_Bool eolian_type_struct_is_extern(const Eolian_Type *tp); + +/* * @brief Get the full C type name of the given type with a name. * * @param[in] tp the type. diff --git a/src/lib/eolian/database_type_api.c b/src/lib/eolian/database_type_api.c index 915cba0..bbb9e0b 100644 --- a/src/lib/eolian/database_type_api.c +++ b/src/lib/eolian/database_type_api.c @@ -9,9 +9,20 @@ eolian_type_find_by_alias(const char *alias) Eina_Stringshare *shr = eina_stringshare_add(alias); Eolian_Typedef *cl = eina_hash_find(_types, shr); eina_stringshare_del(shr); - return cl?cl->type:NULL; + return cl ? cl->type : NULL; } +EAPI Eina_Bool +eolian_typedef_is_extern(const char *alias) +{ + if (!_types) return EINA_FALSE; + Eina_Stringshare *shr = eina_stringshare_add(alias); + Eolian_Typedef *cl = eina_hash_find(_types, shr); + eina_stringshare_del(shr); + return cl ? cl->is_extern : EINA_FALSE; +} + + EAPI const Eolian_Type * eolian_type_struct_find_by_name(const char *name) { @@ -123,6 +134,13 @@ eolian_type_is_const(const Eolian_Type *tp) return tp->is_const; } +EAPI Eina_Bool +eolian_type_struct_is_extern(const Eolian_Type *tp) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(tp, EINA_FALSE); + return tp->is_extern; +} + EAPI Eina_Stringshare * eolian_type_c_type_named_get(const Eolian_Type *tp, const char *name) { diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 56077cb..619aa89 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h @@ -25,8 +25,8 @@ enum Tokens KW(destructor), KW(eo_prefix), KW(events), KW(func), KW(get), \ KW(implements), KW(interface), KW(keys), KW(legacy), KW(legacy_prefix), \ KW(methods), KW(mixin), KW(own), KW(params), KW(properties), KW(set), \ -KW(type), KW(values), KWAT(in), KWAT(inout), KWAT(nonull), KWAT(out), \ -KWAT(warn_unused), \ +KW(type), KW(values), KWAT(extern), KWAT(in), KWAT(inout), KWAT(nonull), \ +KWAT(out), KWAT(warn_unused), \ \ KW(byte), KW(ubyte), KW(char), KW(short), KW(ushort), KW(int), KW(uint), \ KW(long), KW(ulong), KW(llong), KW(ullong), \ diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index d94688f..f39bfb6 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -229,10 +229,11 @@ _struct_field_free(Eolian_Struct_Field *def) } static Eolian_Type * -parse_struct(Eo_Lexer *ls, const char *name) +parse_struct(Eo_Lexer *ls, const char *name, Eina_Bool is_extern) { int line = ls->line_number, column = ls->column; Eolian_Type *def = push_type(ls); + def->is_extern = is_extern; def->name = name; def->type = EOLIAN_TYPE_STRUCT; def->fields = eina_hash_string_small_new(EINA_FREE_CB(_struct_field_free)); @@ -314,8 +315,18 @@ parse_type_struct(Eo_Lexer *ls, Eina_Bool allow_struct, Eina_Bool allow_anon) eo_lexer_get(ls); if (allow_struct) { + Eina_Bool is_extern = EINA_FALSE; + if (ls->t.kw == KW_at_extern) + { + is_extern = EINA_TRUE; + eo_lexer_get(ls); + } if (allow_anon && ls->t.token == '{') - return parse_struct(ls, NULL); + { + if (is_extern) +eo_lexer_syntax_error(ls, "extern anonymous struct"); +
[EGIT] [core/efl] master 01/01: eolian: add test for extern
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=00f99a874d8c6c8a69909a78226d0c146d610ce0 commit 00f99a874d8c6c8a69909a78226d0c146d610ce0 Author: Daniel Kolesa Date: Tue Jul 15 15:50:58 2014 +0100 eolian: add test for extern --- src/tests/eolian/data/extern.eo | 28 src/tests/eolian/eolian_parsing.c | 33 + 2 files changed, 61 insertions(+) diff --git a/src/tests/eolian/data/extern.eo b/src/tests/eolian/data/extern.eo new file mode 100644 index 000..b039b6c --- /dev/null +++ b/src/tests/eolian/data/extern.eo @@ -0,0 +1,28 @@ +/* regular type */ +type Foo: int; + +/* extern type */ +type @extern Evas_Coord: int; + +/* regular struct */ +struct X +{ + field: int; +} + +/* extern struct */ +struct @extern Y +{ + field: int; +} + +class Dummy { + methods { + foo { + params { +int idx; + } + return own(char*); + } + } +} diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c index 1c80281..96334e4 100644 --- a/src/tests/eolian/eolian_parsing.c +++ b/src/tests/eolian/eolian_parsing.c @@ -543,6 +543,38 @@ START_TEST(eolian_struct) } END_TEST +START_TEST(eolian_extern) +{ + const Eolian_Type *type = NULL; + const Eolian_Class *class; + + eolian_init(); + + /* Parsing */ + fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/extern.eo")); + + /* Check that the class Dummy is still readable */ + fail_if(!(class = eolian_class_find_by_name("Dummy"))); + fail_if(!eolian_class_function_find_by_name(class, "foo", EOLIAN_METHOD)); + + /* regular type */ + fail_if(eolian_typedef_is_extern("Foo")); + + /* extern type */ + fail_if(!eolian_typedef_is_extern("Evas_Coord")); + + /* regular struct */ + fail_if(!(type = eolian_type_struct_find_by_name("X"))); + fail_if(eolian_type_struct_is_extern(type)); + + /* extern struct */ + fail_if(!(type = eolian_type_struct_find_by_name("Y"))); + fail_if(!eolian_type_struct_is_extern(type)); + + eolian_shutdown(); +} +END_TEST + void eolian_parsing_test(TCase *tc) { tcase_add_test(tc, eolian_simple_parsing); @@ -555,5 +587,6 @@ void eolian_parsing_test(TCase *tc) tcase_add_test(tc, eolian_events); tcase_add_test(tc, eolian_namespaces); tcase_add_test(tc, eolian_struct); + tcase_add_test(tc, eolian_extern); } --
[EGIT] [core/elementary] master 01/02: atspi: expose elm_image "activate" action through d-bus
stanluk pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=87ba0163234a5c8ce8ffd8dc08269c932d7d4765 commit 87ba0163234a5c8ce8ffd8dc08269c932d7d4765 Author: Lukasz Stanislawski Date: Fri Jul 11 10:28:29 2014 +0200 atspi: expose elm_image "activate" action through d-bus --- src/lib/elm_image.c | 9 + src/lib/elm_image.eo | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c index b435243..73ca0a6 100644 --- a/src/lib/elm_image.c +++ b/src/lib/elm_image.c @@ -14,6 +14,9 @@ #include "elm_interface_atspi_accessible.h" #include "elm_interface_atspi_accessible.eo.h" +#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED +#include "elm_interface_atspi_widget_action.eo.h" + #define FMT_SIZE_T "%zu" #define MY_CLASS ELM_IMAGE_CLASS @@ -1342,6 +1345,12 @@ _elm_image_elm_interface_atspi_image_extents_get(Eo *obj, Elm_Image_Data *sd EIN elm_image_object_size_get(obj, w, h); } +EOLIAN const Elm_Action * +_elm_image_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Image_Data *pd EINA_UNUSED) +{ + return &key_actions[0]; +} + // A11Y - END diff --git a/src/lib/elm_image.eo b/src/lib/elm_image.eo index b26b2d5..b0e89ff 100644 --- a/src/lib/elm_image.eo +++ b/src/lib/elm_image.eo @@ -1,4 +1,5 @@ -class Elm_Image (Elm_Widget, Evas.Clickable_Interface, Elm_Interface_Atspi_Image) +class Elm_Image (Elm_Widget, Evas.Clickable_Interface, + Elm_Interface_Atspi_Image, Elm_Interface_Atspi_Widget_Action) { eo_prefix: elm_obj_image; properties { @@ -548,6 +549,7 @@ class Elm_Image (Elm_Widget, Evas.Clickable_Interface, Elm_Interface_Atspi_Image Elm_Widget.theme_apply; Elm_Widget.event; Elm_Interface_Atspi_Image.extents.get; + Elm_Interface_Atspi_Widget_Action.elm_actions.get; } events { drop; --
[EGIT] [core/elementary] master 02/02: atspi: expose elc_naviframe "top_item_get" action through d-bus
stanluk pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=95fa6f2313155cd1d78c8618282df9cf652000aa commit 95fa6f2313155cd1d78c8618282df9cf652000aa Author: Lukasz Stanislawski Date: Fri Jul 11 11:11:31 2014 +0200 atspi: expose elc_naviframe "top_item_get" action through d-bus --- src/lib/elc_naviframe.c | 9 + src/lib/elc_naviframe.eo | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index 4eae8b0..cefcfd4 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -11,6 +11,9 @@ #include "elm_interface_atspi_accessible.h" #include "elm_interface_atspi_accessible.eo.h" +#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED +#include "elm_interface_atspi_widget_action.eo.h" + #define MY_CLASS ELM_NAVIFRAME_CLASS #define MY_CLASS_NAME "Elm_Naviframe" @@ -1885,4 +1888,10 @@ _elm_naviframe_class_constructor(Eo_Class *klass) evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); } +EOLIAN const Elm_Action * +_elm_naviframe_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED, Elm_Naviframe_Data *pd EINA_UNUSED) +{ + return &key_actions[0]; +} + #include "elc_naviframe.eo.c" diff --git a/src/lib/elc_naviframe.eo b/src/lib/elc_naviframe.eo index fe3daee..e14deb2 100644 --- a/src/lib/elc_naviframe.eo +++ b/src/lib/elc_naviframe.eo @@ -1,4 +1,4 @@ -class Elm_Naviframe (Elm_Layout) +class Elm_Naviframe (Elm_Layout, Elm_Interface_Atspi_Widget_Action) { eo_prefix: elm_obj_naviframe; properties { @@ -274,6 +274,7 @@ class Elm_Naviframe (Elm_Layout) Elm_Layout.text_get; Elm_Layout.signal_emit; Elm_Layout.sizing_eval; + Elm_Interface_Atspi_Widget_Action.elm_actions.get; } events { transition,finished; --
[EGIT] [core/efl] master 01/01: iconfigure: Only use libsystemd-login dep for ecore-drm
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=58f47426a4778d221f20e485d5afa41173db0e76 commit 58f47426a4778d221f20e485d5afa41173db0e76 Author: Stefan Schmidt Date: Tue Jul 15 17:01:14 2014 +0200 iconfigure: Only use libsystemd-login dep for ecore-drm At least with systemd 208 there is no pc file for just libsystemd. It is split into daemon id128 journal and login. We only need login here so only require it. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 7bfdc85..44480a0 100644 --- a/configure.ac +++ b/configure.ac @@ -2808,7 +2808,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo]) EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina]) -EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0 libsystemd >= 192 libsystemd-login >= 192 dbus-1]) +EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0 libsystemd-login >= 192 dbus-1]) EFL_EVAL_PKGS([ECORE_DRM]) --
[EGIT] [core/efl] master 01/01: eolian: parser cleanup - structs no longer have to lookahead, making our grammar effectively LL(1)
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d0e0576f0bece1e5ece2645d3d364d4f4a6745e0 commit d0e0576f0bece1e5ece2645d3d364d4f4a6745e0 Author: Daniel Kolesa Date: Tue Jul 15 17:06:18 2014 +0100 eolian: parser cleanup - structs no longer have to lookahead, making our grammar effectively LL(1) --- src/lib/eolian/eo_parser.c | 34 +++--- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index f39bfb6..757f0d9 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -275,7 +275,6 @@ parse_struct(Eo_Lexer *ls, const char *name, Eina_Bool is_extern) static Eolian_Type * parse_type_struct(Eo_Lexer *ls, Eina_Bool allow_struct, Eina_Bool allow_anon) { - Eina_Bool has_struct = EINA_FALSE; Eolian_Type *def; const char *ctype; const char *sname = NULL; @@ -328,42 +327,39 @@ parse_type_struct(Eo_Lexer *ls, Eina_Bool allow_struct, Eina_Bool allow_anon) return parse_struct(ls, NULL, EINA_FALSE); } check(ls, TOK_VALUE); + if (eo_lexer_get_c_type(ls->t.kw)) + eo_lexer_syntax_error(ls, "invalid struct name"); sname = eina_stringshare_add(ls->t.value); - if (eo_lexer_lookahead(ls) == '{') - { - if (eo_lexer_get_c_type(ls->t.kw)) -eo_lexer_syntax_error(ls, "invalid struct name"); - eo_lexer_get(ls); - return parse_struct(ls, sname, is_extern); - } + eo_lexer_get(ls); + if (ls->t.token == '{') + return parse_struct(ls, sname, is_extern); } else { check(ls, TOK_VALUE); + if (eo_lexer_get_c_type(ls->t.kw)) + eo_lexer_syntax_error(ls, "invalid struct name"); sname = eina_stringshare_add(ls->t.value); + eo_lexer_get(ls); } -has_struct = EINA_TRUE; -break; +def = push_type(ls); +def->type = EOLIAN_TYPE_REGULAR_STRUCT; +def->name = sname; +goto parse_ptr; case KW_func: return parse_function_type(ls); default: break; } def = push_type(ls); - if (ls->t.kw == KW_void && !has_struct) + if (ls->t.kw == KW_void) def->type = EOLIAN_TYPE_VOID; else { -def->type = has_struct ? EOLIAN_TYPE_REGULAR_STRUCT : EOLIAN_TYPE_REGULAR; -def->is_const = EINA_FALSE; +def->type = EOLIAN_TYPE_REGULAR; check(ls, TOK_VALUE); ctype = eo_lexer_get_c_type(ls->t.kw); -if (ctype && has_struct) - { - eina_stringshare_del(sname); - eo_lexer_syntax_error(ls, "invalid struct name"); - } -def->name = sname ? sname : eina_stringshare_add(ctype ? ctype : ls->t.value); +def->name = eina_stringshare_add(ctype ? ctype : ls->t.value); } eo_lexer_get(ls); parse_ptr: --
Re: [E-devel] [EGIT] [core/efl] master 01/02: new eina api/object - eina thread queues
Yay for test suite. :) -- Tom. On 15/07/14 12:38, Carsten Haitzler wrote: > raster pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=3c130836adc2e65997213ee75669e729d7304b7a > > commit 3c130836adc2e65997213ee75669e729d7304b7a > Author: Carsten Haitzler (Rasterman) > Date: Tue Jul 15 17:02:07 2014 +0900 > > new eina api/object - eina thread queues > > @feature > > This is a new feature for eina (and EFL) - a zero-copy thread message > queue for sending messages from one thread to another or from the > ecore mainloop to or back to the mainloop from threads. It has a > complete test suite too. > --- > src/Makefile_Ecore.am | 1 + > src/Makefile_Eina.am | 6 +- > src/lib/eina/Eina.h| 1 + > src/lib/eina/eina_main.c | 4 +- > src/lib/eina/eina_thread_queue.c | 512 ++ > src/lib/eina/eina_thread_queue.h | 262 + > src/tests/ecore/ecore_suite.c | 1 + > src/tests/ecore/ecore_suite.h | 1 + > .../ecore_test_ecore_thread_eina_thread_queue.c| 583 > + > 9 files changed, 1368 insertions(+), 3 deletions(-) > > diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am > index f43be40..b8404b4 100644 > --- a/src/Makefile_Ecore.am > +++ b/src/Makefile_Ecore.am > @@ -188,6 +188,7 @@ tests/ecore/ecore_test_ecore_imf.c \ > tests/ecore/ecore_test_timer.c \ > tests/ecore/ecore_test_ecore_evas.c \ > tests/ecore/ecore_test_animator.c \ > +tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c \ > tests/ecore/ecore_suite.h > > tests_ecore_ecore_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ > diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am > index c5caacc..ada2761 100644 > --- a/src/Makefile_Eina.am > +++ b/src/Makefile_Eina.am > @@ -81,7 +81,8 @@ lib/eina/eina_inline_lock_barrier.x \ > lib/eina/eina_tmpstr.h \ > lib/eina/eina_alloca.h \ > lib/eina/eina_cow.h \ > -lib/eina/eina_inline_unicode.x > +lib/eina/eina_inline_unicode.x \ > +lib/eina/eina_thread_queue.h > > # Will be back for developper after 1.2. > # lib/eina/eina_model.h > @@ -144,7 +145,8 @@ lib/eina/eina_value.c \ > lib/eina/eina_xattr.c \ > lib/eina/eina_share_common.h \ > lib/eina/eina_private.h \ > -lib/eina/eina_strbuf_common.h > +lib/eina/eina_strbuf_common.h \ > +lib/eina/eina_thread_queue.c > > # Will be back for developper after 1.2 > # lib/eina/eina_model.c \ > diff --git a/src/lib/eina/Eina.h b/src/lib/eina/Eina.h > index e22d6e2..ccde5c1 100644 > --- a/src/lib/eina/Eina.h > +++ b/src/lib/eina/Eina.h > @@ -263,6 +263,7 @@ extern "C" { > #include "eina_xattr.h" > #include "eina_value.h" > #include "eina_cow.h" > +#include "eina_thread_queue.h" > > #ifdef __cplusplus > } > diff --git a/src/lib/eina/eina_main.c b/src/lib/eina/eina_main.c > index fc54e02..d4edb24 100644 > --- a/src/lib/eina/eina_main.c > +++ b/src/lib/eina/eina_main.c > @@ -158,6 +158,7 @@ EAPI Eina_Inlist *_eina_tracking = NULL; > S(thread); > S(cow); > S(cpu); > + S(thread_queue); > /* no model for now > S(model); >*/ > @@ -201,7 +202,8 @@ static const struct eina_desc_setup _eina_desc_setup[] = { > S(tmpstr), > S(thread), > S(cow), > - S(cpu) > + S(cpu), > + S(thread_queue) > /* no model for now > S(model) >*/ > diff --git a/src/lib/eina/eina_thread_queue.c > b/src/lib/eina/eina_thread_queue.c > new file mode 100644 > index 000..3a999aa > --- /dev/null > +++ b/src/lib/eina/eina_thread_queue.c > @@ -0,0 +1,512 @@ > +#ifdef HAVE_CONFIG_H > +# include "config.h" > +#endif > + > +#include > +#include "Eina.h" > +#include "eina_thread_queue.h" > +#include "eina_safety_checks.h" > + > +#ifdef __ATOMIC_RELAXED > +#define ATOMIC 1 > +#endif > + > +// use spinlocks for read/write locks as they lead to more throughput and > +// these locks are meant to be held very temporarily, if there is any > +// contention at all > +#define RW_SPINLOCK 1 > + > +#ifdef RW_SPINLOCK > +#define RWLOCK Eina_Spinlock > +#define RWLOCK_NEW(x)eina_spinlock_new(x) > +#define RWLOCK_FREE(x) eina_spinlock_free(x) > +#define RWLOCK_LOCK(x) eina_spinlock_take(x) > +#define RWLOCK_UNLOCK(x) eina_spinlock_release(x) > +#else > +#define RWLOCK Eina_Lock > +#define RWLOCK_NEW(x)eina_lock_new(x) > +#define RWLOCK_FREE(x) eina_lock_free(x) > +#define RWLOCK_LOCK(x) eina_lock_take(x) > +#define RWLOCK_UNLOCK(x) eina_lock_release(x) > +#endif > + > +typedef struct _Eina_Thread_Queue_Msg_Block Eina_Thread_Queue_Msg_Block; > + > +struct _Eina_Thread_Queue > +{ > + Eina_Thread_Queue_Msg_Block *data; // all the data being written to > + Eina_Thread_Queue_Msg_Block *last; // the last block where new data goes > + Eina_Thread_Queue_Msg_Block *
Re: [E-devel] Unable to login phabricator using google account
I think it should be fixed now. -- Tom. On 15/07/14 06:20, Gwanglim Lee wrote: > Hi all, > > Recently, I can't login on https://phab.enlightenment.org. I'm using google > accounts to login the e phab. But login is failing with "accessNotConfigured" > error. > > Unhandled Exception ("PhutilAuthConfigurationException") > Google returned an "accessNotConfigured" error. This usually means you need > to enable the "Google+ API" in your Google Cloud Console, under "APIs". > > Around March 2014, Google made some API changes which require this > configuration adjustment. > > Normally, you can resolve this issue by going to > https://console.developers.google.com/, then clicking "API Project", then > "APIs & auth", then turning the "Google+ API" on. The names you see on the > console may be different depending on how your integration is set up. If you > are not sure, you can hunt through the projects until you find the one > associated with the right Application ID under "Credentials". The Application > ID this install is using is "1095192845546.apps.googleusercontent.com". > > (If you are unable to log into Phabricator, you can use "bin/auth recover" to > recover access to an administrator account.) > > Full HTTP Response > > { > "error": { >"errors": [ > { > "domain": "usageLimits", > "reason": "accessNotConfigured", > "message": "Access Not Configured. Please use Google Developers Console > to activate the API for your project." > } >], >"code": 403, >"message": "Access Not Configured. Please use Google Developers Console to > activate the API for your project." > } > } > > I've found some phabricator patches to resolve this kind of problem. > https://secure.phabricator.com/T4676 > https://secure.phabricator.com/D8612 > > Is it phabricator upgrade problem or my-own problem? > Is anybody having same trouble as me? > > Thanks, > Gwanglim > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Unable to login phabricator using google account
ACK. Thank you tom On 2014-07-15 18:12, Tom Hacohen wrote: > I think it should be fixed now. > > -- > Tom. > > On 15/07/14 06:20, Gwanglim Lee wrote: >> Hi all, >> >> Recently, I can't login on https://phab.enlightenment.org. I'm using >> google accounts to login the e phab. But login is failing with >> "accessNotConfigured" error. >> >> Unhandled Exception ("PhutilAuthConfigurationException") >> Google returned an "accessNotConfigured" error. This usually means you >> need to enable the "Google+ API" in your Google Cloud Console, under >> "APIs". >> >> Around March 2014, Google made some API changes which require this >> configuration adjustment. >> >> Normally, you can resolve this issue by going to >> https://console.developers.google.com/, then clicking "API Project", >> then "APIs & auth", then turning the "Google+ API" on. The names you >> see on the console may be different depending on how your integration >> is set up. If you are not sure, you can hunt through the projects >> until you find the one associated with the right Application ID under >> "Credentials". The Application ID this install is using is >> "1095192845546.apps.googleusercontent.com". >> >> (If you are unable to log into Phabricator, you can use "bin/auth >> recover" to recover access to an administrator account.) >> >> Full HTTP Response >> >> { >> "error": { >>"errors": [ >> { >> "domain": "usageLimits", >> "reason": "accessNotConfigured", >> "message": "Access Not Configured. Please use Google Developers >> Console to activate the API for your project." >> } >>], >>"code": 403, >>"message": "Access Not Configured. Please use Google Developers >> Console to activate the API for your project." >> } >> } >> >> I've found some phabricator patches to resolve this kind of problem. >> https://secure.phabricator.com/T4676 >> https://secure.phabricator.com/D8612 >> >> Is it phabricator upgrade problem or my-own problem? >> Is anybody having same trouble as me? >> >> Thanks, >> Gwanglim >> -- >> Want fast and easy access to all the code in your enterprise? Index >> and >> search up to 200,000 lines of code with a free copy of Black Duck >> Code Sight - the same software that powers the world's largest code >> search on Ohloh, the Black Duck Open Hub! Try it now. >> http://p.sf.net/sfu/bds >> ___ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Unable to login phabricator using google account
Very thanks. It works well now. :) 2014. 7. 16. 오전 1:28에 "Bertrand Jacquin" 님이 작성: > ACK. Thank you tom > > On 2014-07-15 18:12, Tom Hacohen wrote: > > I think it should be fixed now. > > > > -- > > Tom. > > > > On 15/07/14 06:20, Gwanglim Lee wrote: > >> Hi all, > >> > >> Recently, I can't login on https://phab.enlightenment.org. I'm using > >> google accounts to login the e phab. But login is failing with > >> "accessNotConfigured" error. > >> > >> Unhandled Exception ("PhutilAuthConfigurationException") > >> Google returned an "accessNotConfigured" error. This usually means you > >> need to enable the "Google+ API" in your Google Cloud Console, under > >> "APIs". > >> > >> Around March 2014, Google made some API changes which require this > >> configuration adjustment. > >> > >> Normally, you can resolve this issue by going to > >> https://console.developers.google.com/, then clicking "API Project", > >> then "APIs & auth", then turning the "Google+ API" on. The names you > >> see on the console may be different depending on how your integration > >> is set up. If you are not sure, you can hunt through the projects > >> until you find the one associated with the right Application ID under > >> "Credentials". The Application ID this install is using is > >> "1095192845546.apps.googleusercontent.com". > >> > >> (If you are unable to log into Phabricator, you can use "bin/auth > >> recover" to recover access to an administrator account.) > >> > >> Full HTTP Response > >> > >> { > >> "error": { > >>"errors": [ > >> { > >> "domain": "usageLimits", > >> "reason": "accessNotConfigured", > >> "message": "Access Not Configured. Please use Google Developers > >> Console to activate the API for your project." > >> } > >>], > >>"code": 403, > >>"message": "Access Not Configured. Please use Google Developers > >> Console to activate the API for your project." > >> } > >> } > >> > >> I've found some phabricator patches to resolve this kind of problem. > >> https://secure.phabricator.com/T4676 > >> https://secure.phabricator.com/D8612 > >> > >> Is it phabricator upgrade problem or my-own problem? > >> Is anybody having same trouble as me? > >> > >> Thanks, > >> Gwanglim > >> > -- > >> Want fast and easy access to all the code in your enterprise? Index > >> and > >> search up to 200,000 lines of code with a free copy of Black Duck > >> Code Sight - the same software that powers the world's largest code > >> search on Ohloh, the Black Duck Open Hub! Try it now. > >> http://p.sf.net/sfu/bds > >> ___ > >> enlightenment-devel mailing list > >> enlightenment-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> > > > > > > > > > -- > > Want fast and easy access to all the code in your enterprise? Index and > > search up to 200,000 lines of code with a free copy of Black Duck > > Code Sight - the same software that powers the world's largest code > > search on Ohloh, the Black Duck Open Hub! Try it now. > > http://p.sf.net/sfu/bds > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: eolian: warning fix
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8716112a437c9d550d016c627025da72744db138 commit 8716112a437c9d550d016c627025da72744db138 Author: Daniel Kolesa Date: Tue Jul 15 20:00:59 2014 +0100 eolian: warning fix --- src/lib/eolian/database_type.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c index 83c367c..da5a176 100644 --- a/src/lib/eolian/database_type.c +++ b/src/lib/eolian/database_type.c @@ -169,7 +169,7 @@ database_type_print(Eolian_Type *tp) if (tp->is_const) printf("const("); if (tp->type == EOLIAN_TYPE_REGULAR) - printf(tp->name); + printf("%s", tp->name); else if (tp->type == EOLIAN_TYPE_VOID) printf("void"); else if (tp->type == EOLIAN_TYPE_REGULAR_STRUCT) --
[E-devel] Build error while building ELM with '--with-tests=regular'
I compiled Elementary with tests and got below errors. Some APIs look changed. What I did: cd elementary ./autogen.sh --prefix=/usr/elocal --with-tests=regular make -j8 sudo make install make check -j8 Error message: elm_suite-elm_test_atspi.o: In function `elm_test_atspi_object_children_get': /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262: undefined reference to `_elm_atspi_root_get' elm_suite-elm_test_atspi.o: In function `generate_app': /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35: undefined reference to `_elm_atspi_init' /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37: undefined reference to `_elm_atspi_root_get' elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get': /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271: undefined reference to `elm_interface_atspi_text_text_get' Best Regards, Ryuan Choi -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: Tests atspi: fix undefined reference.
tasn pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=e99d5da1dd8e512abc0235bbe03ab6ce6ce7bb63 commit e99d5da1dd8e512abc0235bbe03ab6ce6ce7bb63 Author: Tom Hacohen Date: Tue Jul 15 22:51:08 2014 +0100 Tests atspi: fix undefined reference. Thanks to Ryuan Choi for reporting. This was changed due to eolian changes. --- src/tests/elm_test_entry.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/elm_test_entry.c b/src/tests/elm_test_entry.c index d3cc165..2fb9829 100644 --- a/src/tests/elm_test_entry.c +++ b/src/tests/elm_test_entry.c @@ -268,7 +268,7 @@ START_TEST (elm_entry_atspi_text_text_get) entry = elm_entry_add(win); elm_object_text_set(entry, txt); - eo_do(entry, val = elm_interface_atspi_text_text_get(0, sizeof(txtnom)/sizeof(txtnom[0]))); + eo_do(entry, val = elm_interface_atspi_text_get(0, sizeof(txtnom)/sizeof(txtnom[0]))); ck_assert_str_eq(val, txtnom); if (val) free(val); --
Re: [E-devel] Build error while building ELM with '--with-tests=regular'
On 15/07/14 22:46, ryuan Choi wrote: > I compiled Elementary with tests and got below errors. > Some APIs look changed. > > What I did: > cd elementary > ./autogen.sh --prefix=/usr/elocal --with-tests=regular > make -j8 > sudo make install > make check -j8 > > Error message: > > elm_suite-elm_test_atspi.o: In function > `elm_test_atspi_object_children_get': > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262: > undefined reference to `_elm_atspi_root_get' > elm_suite-elm_test_atspi.o: In function `generate_app': > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35: > undefined reference to `_elm_atspi_init' > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37: > undefined reference to `_elm_atspi_root_get' > elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get': > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271: > undefined reference to `elm_interface_atspi_text_text_get' > > Best Regards, > Ryuan Choi > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > Hey, I fixed the issue with the entry test, thanks for reporting. No idea about the rest. Can't find those functions or any trace of them, and don't really have the time to try and find them in history. It would be great if whoever who wrote it will fix it. Stefan: don't we "make check" for elementary on jenkins? I wonder how this was missed for so long. -- Tom. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: Fix build break while building with --with-tests=regular
ryuan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=24099ace287416712a885d589a70c7b20a995a31 commit 24099ace287416712a885d589a70c7b20a995a31 Author: Ryuan Choi Date: Wed Jul 16 07:19:25 2014 +0900 Fix build break while building with --with-tests=regular _elm_atspi_init and _elm_atspi_root_get was removed at 99a32ea4b --- src/tests/elm_test_atspi.c | 23 ++- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/tests/elm_test_atspi.c b/src/tests/elm_test_atspi.c index 7ff6712..d7ec2a8 100644 --- a/src/tests/elm_test_atspi.c +++ b/src/tests/elm_test_atspi.c @@ -30,27 +30,9 @@ Eo* generate_app(void) evas_object_show(g_bg); evas_object_show(g_win); - Eo *obj = NULL; - - _elm_atspi_init(); - - obj = _elm_atspi_root_get(); - - return obj; + return _elm_atspi_bridge_root_get(); } -START_TEST (elm_atspi_root_get) -{ - elm_init(0, NULL); - - Eo* obj = generate_app(); - - ck_assert(obj != NULL); - - elm_shutdown(); -} -END_TEST - START_TEST (elm_atspi_name_get) { elm_init(0, NULL); @@ -259,7 +241,7 @@ START_TEST (elm_test_atspi_object_children_get) { elm_init(0, NULL); - Eo *root = _elm_atspi_root_get(); + Eo *root = _elm_atspi_bridge_root_get(); Eina_List *children = NULL; eo_do(root, children = elm_interface_atspi_accessible_children_get()); @@ -391,7 +373,6 @@ END_TEST void elm_test_atspi(TCase *tc) { - tcase_add_test(tc, elm_atspi_root_get); tcase_add_test(tc, elm_atspi_name_get); tcase_add_test(tc, elm_atspi_role_get); tcase_add_test(tc, elm_atspi_role_name_get); --
Re: [E-devel] Build error while building ELM with '--with-tests=regular'
Tom, Thanks for the quick fix. Others look broken after 99a32ea4b "atspi: unify atspi initialization" Lukasz, I tried to fix it at 24099ace2 . Please check whether my simple fix is right. Best Regards, Ryuan Choi 2014-07-16 6:53 GMT+09:00 Tom Hacohen : > On 15/07/14 22:46, ryuan Choi wrote: > > I compiled Elementary with tests and got below errors. > > Some APIs look changed. > > > > What I did: > > cd elementary > > ./autogen.sh --prefix=/usr/elocal --with-tests=regular > > make -j8 > > sudo make install > > make check -j8 > > > > Error message: > > > > elm_suite-elm_test_atspi.o: In function > > `elm_test_atspi_object_children_get': > > > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:262: > > undefined reference to `_elm_atspi_root_get' > > elm_suite-elm_test_atspi.o: In function `generate_app': > > > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:35: > > undefined reference to `_elm_atspi_init' > > > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_atspi.c:37: > > undefined reference to `_elm_atspi_root_get' > > elm_suite-elm_test_entry.o: In function `elm_entry_atspi_text_text_get': > > > /home/ryuan/workspace/project/efl/elementary/src/tests/elm_test_entry.c:271: > > undefined reference to `elm_interface_atspi_text_text_get' > > > > Best Regards, > > Ryuan Choi > > > -- > > Want fast and easy access to all the code in your enterprise? Index and > > search up to 200,000 lines of code with a free copy of Black Duck > > Code Sight - the same software that powers the world's largest code > > search on Ohloh, the Black Duck Open Hub! Try it now. > > http://p.sf.net/sfu/bds > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > Hey, > > I fixed the issue with the entry test, thanks for reporting. No idea > about the rest. Can't find those functions or any trace of them, and > don't really have the time to try and find them in history. It would be > great if whoever who wrote it will fix it. > > Stefan: don't we "make check" for elementary on jenkins? I wonder how > this was missed for so long. > > -- > Tom. > > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: Fix build break while building with --with-tests=regular
Cool, so you found it. :) I wonder, are the tests still valid and make sense? -- Tom. On 15/07/14 23:20, Ryuan Choi wrote: > ryuan pushed a commit to branch master. > > http://git.enlightenment.org/core/elementary.git/commit/?id=24099ace287416712a885d589a70c7b20a995a31 > > commit 24099ace287416712a885d589a70c7b20a995a31 > Author: Ryuan Choi > Date: Wed Jul 16 07:19:25 2014 +0900 > > Fix build break while building with --with-tests=regular > > _elm_atspi_init and _elm_atspi_root_get was removed at 99a32ea4b > --- > src/tests/elm_test_atspi.c | 23 ++- > 1 file changed, 2 insertions(+), 21 deletions(-) > > diff --git a/src/tests/elm_test_atspi.c b/src/tests/elm_test_atspi.c > index 7ff6712..d7ec2a8 100644 > --- a/src/tests/elm_test_atspi.c > +++ b/src/tests/elm_test_atspi.c > @@ -30,27 +30,9 @@ Eo* generate_app(void) > evas_object_show(g_bg); > evas_object_show(g_win); > > - Eo *obj = NULL; > - > - _elm_atspi_init(); > - > - obj = _elm_atspi_root_get(); > - > - return obj; > + return _elm_atspi_bridge_root_get(); > } > > -START_TEST (elm_atspi_root_get) > -{ > - elm_init(0, NULL); > - > - Eo* obj = generate_app(); > - > - ck_assert(obj != NULL); > - > - elm_shutdown(); > -} > -END_TEST > - > START_TEST (elm_atspi_name_get) > { > elm_init(0, NULL); > @@ -259,7 +241,7 @@ START_TEST (elm_test_atspi_object_children_get) > { > elm_init(0, NULL); > > - Eo *root = _elm_atspi_root_get(); > + Eo *root = _elm_atspi_bridge_root_get(); > > Eina_List *children = NULL; > eo_do(root, children = elm_interface_atspi_accessible_children_get()); > @@ -391,7 +373,6 @@ END_TEST > > void elm_test_atspi(TCase *tc) > { > - tcase_add_test(tc, elm_atspi_root_get); > tcase_add_test(tc, elm_atspi_name_get); > tcase_add_test(tc, elm_atspi_role_get); > tcase_add_test(tc, elm_atspi_role_name_get); > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: eolian: make event type syntax consistent
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ae3eb2b942a0251672a71280cd36988346f48f0a commit ae3eb2b942a0251672a71280cd36988346f48f0a Author: Daniel Kolesa Date: Tue Jul 15 23:50:34 2014 +0100 eolian: make event type syntax consistent --- src/lib/eolian/eo_parser.c | 4 +--- src/tests/eolian/data/events.eo | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 757f0d9..258d771 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -825,13 +825,11 @@ parse_event(Eo_Lexer *ls) check(ls, TOK_VALUE); ev->name = eina_stringshare_add(ls->t.value); eo_lexer_get(ls); - if (ls->t.token == '(') + if (ls->t.token == ':') { -int line = ls->line_number, col = ls->column; eo_lexer_get(ls); ev->type = parse_type(ls); pop_type(ls); -check_match(ls, ')', '(', line, col); } check(ls, ';'); eo_lexer_get_ident(ls, "_,"); diff --git a/src/tests/eolian/data/events.eo b/src/tests/eolian/data/events.eo index e5e1e76..3057222 100644 --- a/src/tests/eolian/data/events.eo +++ b/src/tests/eolian/data/events.eo @@ -1,6 +1,6 @@ class Events { events { clicked; /*@ Comment for clicked */ - clicked,double (Evas_Event_Clicked_Double_Info); /* No comment */ + clicked,double: Evas_Event_Clicked_Double_Info; /* No comment */ } } --
[E-devel] Request for help: Adding libefl to autotools
Hey everyone (probably Gustavo), As part of my work on efl interfaces I've encountered the need of having a unified library that is both compiled and ships headers which are used by all of the efl. Unfortunately, I can't seem to figure out (to be honest, I just get frustrated with autofoo and our setup there) how to add a libefl that ships libefl.so and Efl.h that are added as dependencies for the rest of the libs during compile (in tree) and install (correctly updating the .pc files). I'd love it if someone could help me out there. I really don't want to dive into autofoo and try making sense of our macros if it can be helped (someone already knows from the top of their head). Looking forward for the rescue. Just to clarify a bit more with an example: I'd like to include Efl.h from Edje.h and have libedje.so linked with libefl.so without going around and updating all of the Makefile.am files we have all over the place, and have it working in tree and after installed. I think I've done it (was it me?) a while a go when I added Eo in tree so it shouldn't be too hard. Thanks, Tom. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: update according to eolian syntax changes
q66 pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=dd9a380fe4a07a784914e52ad62ebf447fc426aa commit dd9a380fe4a07a784914e52ad62ebf447fc426aa Author: Daniel Kolesa Date: Tue Jul 15 23:53:18 2014 +0100 update according to eolian syntax changes --- src/lib/elm_interface_atspi_accessible.eo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elm_interface_atspi_accessible.eo b/src/lib/elm_interface_atspi_accessible.eo index 843e454..f7e3a2b 100644 --- a/src/lib/elm_interface_atspi_accessible.eo +++ b/src/lib/elm_interface_atspi_accessible.eo @@ -107,9 +107,9 @@ mixin Elm_Interface_Atspi_Accessible () } } events { - property,changed (const(char)*); - children,changed (Elm_Atspi_Event_Children_Changed_Data); - state,changed (Elm_Atspi_Event_State_Changed_Data); + property,changed: const(char)*; + children,changed: Elm_Atspi_Event_Children_Changed_Data; + state,changed: Elm_Atspi_Event_State_Changed_Data; visible,data,changed; active,descendants,changed; } --
[EGIT] [core/efl] master 01/01: eolian: fix memory leak
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=198a61c37d972ad3f62d65ef4fe85722bcb6c000 commit 198a61c37d972ad3f62d65ef4fe85722bcb6c000 Author: Daniel Kolesa Date: Wed Jul 16 00:30:48 2014 +0100 eolian: fix memory leak --- src/lib/eolian/database_fill.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c index 5fd2556..af7ea1c 100644 --- a/src/lib/eolian/database_fill.c +++ b/src/lib/eolian/database_fill.c @@ -202,9 +202,9 @@ _db_fill_property(Eolian_Class *cl, Eo_Class_Def *kls, Eo_Property_Def *prop) database_function_scope_set(foo_id, prop->scope); - if (!_db_fill_keys (foo_id, prop)) return EINA_FALSE; - if (!_db_fill_values (foo_id, prop)) return EINA_FALSE; - if (!_db_fill_accessors(foo_id, kls, prop)) return EINA_FALSE; + if (!_db_fill_keys (foo_id, prop)) goto failure; + if (!_db_fill_values (foo_id, prop)) goto failure; + if (!_db_fill_accessors(foo_id, kls, prop)) goto failure; if (!prop->accessors) { @@ -216,6 +216,10 @@ _db_fill_property(Eolian_Class *cl, Eo_Class_Def *kls, Eo_Property_Def *prop) database_class_function_add(cl, foo_id); return EINA_TRUE; + +failure: + database_function_del(foo_id); + return EINA_FALSE; } static Eina_Bool --
Re: [E-devel] [EGIT] [core/elementary] master 01/01: Fix build break while building with --with-tests=regular
There are many tests for the atspi since I touched. I don't know them. Except them, the others are very small but valid. Best regards, ryuan choi 2014. 7. 16. 오전 7:28에 "Tom Hacohen" 님이 작성: > Cool, so you found it. :) > > I wonder, are the tests still valid and make sense? > > -- > Tom. > > On 15/07/14 23:20, Ryuan Choi wrote: > > ryuan pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=24099ace287416712a885d589a70c7b20a995a31 > > > > commit 24099ace287416712a885d589a70c7b20a995a31 > > Author: Ryuan Choi > > Date: Wed Jul 16 07:19:25 2014 +0900 > > > > Fix build break while building with --with-tests=regular > > > > _elm_atspi_init and _elm_atspi_root_get was removed at 99a32ea4b > > --- > > src/tests/elm_test_atspi.c | 23 ++- > > 1 file changed, 2 insertions(+), 21 deletions(-) > > > > diff --git a/src/tests/elm_test_atspi.c b/src/tests/elm_test_atspi.c > > index 7ff6712..d7ec2a8 100644 > > --- a/src/tests/elm_test_atspi.c > > +++ b/src/tests/elm_test_atspi.c > > @@ -30,27 +30,9 @@ Eo* generate_app(void) > > evas_object_show(g_bg); > > evas_object_show(g_win); > > > > - Eo *obj = NULL; > > - > > - _elm_atspi_init(); > > - > > - obj = _elm_atspi_root_get(); > > - > > - return obj; > > + return _elm_atspi_bridge_root_get(); > > } > > > > -START_TEST (elm_atspi_root_get) > > -{ > > - elm_init(0, NULL); > > - > > - Eo* obj = generate_app(); > > - > > - ck_assert(obj != NULL); > > - > > - elm_shutdown(); > > -} > > -END_TEST > > - > > START_TEST (elm_atspi_name_get) > > { > > elm_init(0, NULL); > > @@ -259,7 +241,7 @@ START_TEST (elm_test_atspi_object_children_get) > > { > > elm_init(0, NULL); > > > > - Eo *root = _elm_atspi_root_get(); > > + Eo *root = _elm_atspi_bridge_root_get(); > > > > Eina_List *children = NULL; > > eo_do(root, children = > elm_interface_atspi_accessible_children_get()); > > @@ -391,7 +373,6 @@ END_TEST > > > > void elm_test_atspi(TCase *tc) > > { > > - tcase_add_test(tc, elm_atspi_root_get); > > tcase_add_test(tc, elm_atspi_name_get); > > tcase_add_test(tc, elm_atspi_role_get); > > tcase_add_test(tc, elm_atspi_role_name_get); > > > > > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: transit - fix to adopt the tween_mode factor.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=3cba0098a4990c1c3dedc13979226dacdb170bf4 commit 3cba0098a4990c1c3dedc13979226dacdb170bf4 Author: ChunEon Park Date: Wed Jul 16 11:20:52 2014 +0900 transit - fix to adopt the tween_mode factor. ACCELERATE, DECELLERATE, SINUSOIDAL modes didn't work with the tween mode factor before. now it works. @fix --- src/lib/elm_transit.c | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c index 6a7b9f6..2e341c3 100644 --- a/src/lib/elm_transit.c +++ b/src/lib/elm_transit.c @@ -344,19 +344,22 @@ _transit_animate_cb(void *data) 0, 0); break; case ELM_TRANSIT_TWEEN_MODE_ACCELERATE: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_ACCELERATE, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_ACCELERATE_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_DECELERATE: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_DECELERATE, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_DECELERATE_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_SINUSOIDAL, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_SINUSOIDAL_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP: transit->progress = ecore_animator_pos_map(transit->progress, --
[EGIT] [core/elementary] elementary-1.10 01/01: transit - fix to adopt the tween_mode factor.
hermet pushed a commit to branch elementary-1.10. http://git.enlightenment.org/core/elementary.git/commit/?id=98b8166f34b8d0ab84856db08460f64e07f7ac0f commit 98b8166f34b8d0ab84856db08460f64e07f7ac0f Author: ChunEon Park Date: Wed Jul 16 11:20:52 2014 +0900 transit - fix to adopt the tween_mode factor. ACCELERATE, DECELLERATE, SINUSOIDAL modes didn't work with the tween mode factor before. now it works. @fix --- src/lib/elm_transit.c | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c index 6a7b9f6..2e341c3 100644 --- a/src/lib/elm_transit.c +++ b/src/lib/elm_transit.c @@ -344,19 +344,22 @@ _transit_animate_cb(void *data) 0, 0); break; case ELM_TRANSIT_TWEEN_MODE_ACCELERATE: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_ACCELERATE, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_ACCELERATE_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_DECELERATE: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_DECELERATE, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_DECELERATE_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL: - transit->progress = ecore_animator_pos_map(transit->progress, -ECORE_POS_MAP_SINUSOIDAL, -transit->v1, 0); + transit->progress = +ecore_animator_pos_map(transit->progress, + ECORE_POS_MAP_SINUSOIDAL_FACTOR, + transit->v1, 0); break; case ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP: transit->progress = ecore_animator_pos_map(transit->progress, --
Re: [E-devel] Probie access
+1 to Seoz's opinion. His patches for various modules prove his ability :) -Original Message- From: "Daniel Juyung Seo"To: "Enlightenment developer list" ; Cc: Sent: 2014-07-15 (화) 20:10:42 Subject: Re: [E-devel] Probie access Yes, he has been doing a very good job. I saw his patches on many different modules not just for terminology. Actually he contributed more on efl itself. zmike and raster have been reviewing his patches. I think he is worthy of having a full access considering his job so far. How do you think? Probie is good for having a branch work and personal repo, but in his case he can just work on master. If he is not sure of his commit, he can raise a patch on phabricator as we suggest to do. Thanks. Daniel Juyung Seo (SeoZ) On Tue, Jul 15, 2014 at 7:54 PM, Boris Faure @fau.re> wrote: > Hi! > > I would like to add probie access to Wonguk Jeong (huchi) for his good > patches on terminology. > > Greets > -- > Boris Faure > Pointer Arithmetician > > > -- > Want fast and easy access to all the code in your enterprise? Index and > search up to 200,000 lines of code with a free copy of Black Duck > Code Sight - the same software that powers the world's largest code > search on Ohloh, the Black Duck Open Hub! Try it now. > http://p.sf.net/sfu/bds > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Probie access
in the point of the technical skill view, +1 -Regards, Hermet- -Original Message- From: "Boris Faure" To: "enlightenment-devel"; Cc: Sent: 2014-07-15 (화) 19:54:03 Subject: [E-devel] Probie access Hi! I would like to add probie access to Wonguk Jeong (huchi) for his good patches on terminology. Greets -- Boris Faure Pointer Arithmetician -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Probie access
On Tue, 15 Jul 2014 12:54:03 +0200 Boris Faure said: > Hi! > > I would like to add probie access to Wonguk Jeong (huchi) for his good > patches on terminology. > > Greets > -- > Boris Faure > Pointer Arithmetician +1 -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [apps/epour] annotated tag v0.6.0 created
kuuko pushed a change to annotated tag v0.6.0 in repository apps/epour. at 806a3d5bb5 (tag) tagging 305d11902037c548714ca6648d6d1e530377824f (commit) tagged by Kai Huuhko on Wed Jul 16 07:58:27 2014 +0300 - Log - Epour release 0.6.0 -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAABAgAGBQJTxgarAAoJEMVq7z9spx7HaesQAMb1yMjopkABrVCj86akOBB3 HwPVguNSG7pPLQOfTO7fUu3MJJDm1q1JhKmvUO82/DqO0N6pHIBSbKKr7fe8eNvF 3rHWtY4uEgggFmsSxQzqUxiuoYtUm9lqefLcBAbakVHnfsl/XjFoUfHfjxvBXHn4 RG6nUoJxn8X7MlE3ZMNbdFAIMYKArAKe3iHz0VXCk/QssuHWlN1aW6X1tfKoTtYY wVxuS6LBn6Ich/L0g+XC2Gc4uzF8VgvCuqT6CIYgkU6Ok/xJjYwDPNV5bHZLJsBu dSUNkoO574EXyvGDJtJq2el/2BPM+EdixYnCSubCJDLLCZ9KbR+2Xz2rfZou9IRd fC/xC6N9cqqBIcdtubxfMMx9t6fOkKIfJmh6DVhFrRx2GEWkDrBQ9izJPSaCsVd+ UAB8QK0FEPNRy4tBJubUUihYfGH/4lS4MRWpa6rwNVcL+Q4M7rS6tw6JKYT7nQPe 0oS/T5KqQ4RUy3fz0tj0JKy050m06hVb/tKFte2hD4aUHVc3KiyXPH9MoubIvM8Q +1KTrhq3+ZdpSFKwL1/W5u9GdUiA2ObliXLekUn9bxJFG52ZX8vv5jHp0Bv+j9u2 68RYAshIMwDruu/28VBmAEI1Z4wLTWNkp13GHEKg5yD3bSaKF1R4mNRKa8vIU9mM t+OHOtmut1vM8haNbfY7 =dAg5 -END PGP SIGNATURE- Kai Huuhko (117): Initial commit Add README and compatibility code for 1.7.99 bindings. Use the new 1.8 bindings' ecore mainloop wrapper for dbus. Add torrent data re-check and beginnings of a torrent properties dialog. Clean up fast resume data on torrent removal. Open file when activated from the file list. Checks that the file is complete. Improve the torrent status string. Change the download/upload icons to up/down instead of record/play. Add more alert handling. Change the fileselector to non-tree mode in Add torrent dialog. Better formatting for file sizes. Version 0.4 Rewrite preferences dialog code. Forgot the listening ports. Improve how settings are used. Use info_hash as the stored torrent filenames instead of torrent name. Add formatting for logging messages. Don't save an empty path for data storage. Add an option to delete the original .torrent file when it's added to Epour. Add more information to torrent prefs. Add session settings to preferences dialog. Add download queue number to torrent status string. Formatting, change import style for possible future py3k compatibility. Re-organize for better separation between gui and internals. Make a copy of the original torrent file instead of regenerating it through libtorrent. Move torrent name to the top in torrent prefs dialog. Add a TODO. Put the problematic torrent metadata values inside a try block. More settings than you can shake a torrent at. Move session settings to a naviframe page. Add a Panel to hold the session information and controls. Small improvements to the session status display. Make the session status display hide from top to bottom and hidden by default. Use a Menu instead of CtxPopup for torrent actions, add queue actions. Cleanup. Fix adding torrents. Fix a couple logging related bugs. Move torrent file list into its own naviframe page. Handle missing standard icons slightly more gracefully. Fix copy/paste mistake Fix the icon fallbacks. Fix metadata received callback. Lower the standard icon not found message logging level and raise the overall logger level. Use global elementary scale as a multiplier for the initial window size. Version 0.5 Fix limit widgets Use realized_items_update for torrent file list instead of rebuilding the list. Add debug logging for unhandled alerts. Improve the session preferences layout. Reorder top box initialization to silence complaints from Evas. Fix adding links through dbus. Use handle.name() instead of getting it from torrent_info. Check that torrent contains metadata before showing preferences. A small optimization for the torrent list updates. Add more debug logging. Add a TODO file Update TODOs Version 0.5.1 Handle file:// URI's Make the magnet link entry editable so it can be copied easily when using EFL 1.7. Unescape when the torrent is added as url instead of file path. Add auto-pasted text to add torrent selectors magnet entry. Disable torrent list homogeneous mode, update TODOs. Abstract adding/removing torrents. Fix converting magnet links to files. (metadata received alert) Fix updating list after torrent is removed Update desktop file, thanks to cippp for ideas. Add identification info to session init and settings. Recover setup.py and Globals lost in crash. Formatting, clean up old cruft. Move session to its own file. Let's allow a higher maximum for the settings spinners shall we? Epour 0.5.2.0 Add fallback t
[EGIT] [website/www] master 01/01: add download link for epour
kuuko pushed a commit to branch master. http://git.enlightenment.org/website/www.git/commit/?id=a95568a637bb5a2b8df889f1536b9012cf9c4a7e commit a95568a637bb5a2b8df889f1536b9012cf9c4a7e Author: Kai Huuhko Date: Wed Jul 16 08:01:17 2014 +0300 add download link for epour --- public_html/p/download/en-body | 8 1 file changed, 8 insertions(+) diff --git a/public_html/p/download/en-body b/public_html/p/download/en-body index d897e8f..929d673 100644 --- a/public_html/p/download/en-body +++ b/public_html/p/download/en-body @@ -172,6 +172,14 @@ );?> + + Epour 0.6.0 + Epour is a BitTorrent client. http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.tar.gz"; + );?> + + --
[E-devel] Epour 0.6.0 release
= Epour 0.6.0 released = Epour BitTorrent client based on libtorrent. == Download links == http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.tar.gz http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.tar.bz2 http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.tar.xz http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.md5sum http://download.enlightenment.org/rel/apps/epour/epour-0.6.0.sha1sum See README for install dependencies and instructions. == New features == - Add torrent -dialog - Torrent properties dialog now has options and auto-updating status - Torrent list's items display a status tooltip on mouse over - Torrent list items' menu has more controls - Torrent file list is now displayed in a more convenient tree mode, and auto-updates - Finished torrents can be moved to another directory - Torrents and fast resume data are now saved in a pickled Python dict instead of individual files - Data and configuration files' directories are now prefixed using [[ http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html | xdg basedir ]] instead of being hardcoded - Buttons from session panel were moved into a toolbar Old releases can be found on https://launchpad.net/epour -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: fix memory leak
Hello. On Tue, 2014-07-15 at 16:31, Daniel Kolesa wrote: > q66 pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=198a61c37d972ad3f62d65ef4fe85722bcb6c000 > > commit 198a61c37d972ad3f62d65ef4fe85722bcb6c000 > Author: Daniel Kolesa > Date: Wed Jul 16 00:30:48 2014 +0100 > > eolian: fix memory leak Was this the leak found by coverity in the last run? If yes please add the coverity ID to the commit message. helps us to track this more efficiently and gives them some credit. regards Stefan Schmidt -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel