[EGIT] [legacy/imlib2] master 01/03: TGA loader: Tweak error handling

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=9bae2c9f0232cc7f4395dece1207365259e4198b

commit 9bae2c9f0232cc7f4395dece1207365259e4198b
Author: Kim Woelders 
Date:   Sat Nov 16 21:06:41 2019 +0100

TGA loader: Tweak error handling
---
 src/modules/loaders/loader_tiff.c | 25 +++--
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/modules/loaders/loader_tiff.c 
b/src/modules/loaders/loader_tiff.c
index d4998c3..30a24d2 100644
--- a/src/modules/loaders/loader_tiff.c
+++ b/src/modules/loaders/loader_tiff.c
@@ -306,6 +306,12 @@ load(ImlibImage * im, ImlibProgressFunction progress,
if (!TIFFRGBAImageBegin((TIFFRGBAImage *) & rgba_image, tif, 1, txt))
   goto quit1;
 
+   if (!rgba_image.rgba.put.any)
+ {
+fprintf(stderr, "imlib2-tiffloader: No put function");
+goto quit2;
+ }
+
rgba_image.image = im;
switch (rgba_image.rgba.orientation)
  {
@@ -341,23 +347,14 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 rgba_image.progress = progress;
 rgba_image.pper = rgba_image.py = 0;
 rgba_image.progress_granularity = progress_granularity;
-rast = (uint32 *) _TIFFmalloc(sizeof(uint32) * num_pixels);
 
-if ((!rast) || (!__imlib_AllocateData(im, im->w, im->h)))   /* 
Error checking */
-  {
- fprintf(stderr, "imlib2-tiffloader: Out of memory\n");
+if (!__imlib_AllocateData(im, im->w, im->h))
+   goto quit2;
 
- if (rast)
-_TIFFfree(rast);
- __imlib_FreeData(im);
- goto quit2;
-  }
-
-if (!rgba_image.rgba.put.any)
+rast = (uint32 *) _TIFFmalloc(sizeof(uint32) * num_pixels);
+if (!rast)
   {
- fprintf(stderr, "imlib2-tiffloader: No put function");
-
- _TIFFfree(rast);
+ fprintf(stderr, "imlib2-tiffloader: Out of memory\n");
  __imlib_FreeData(im);
  goto quit2;
   }

-- 




[EGIT] [legacy/imlib2] master 03/03: Remove __imlib_AllocateData() w, h args

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=1a6a6b6433f8af374ab26d1fe0fcb70c670675ac

commit 1a6a6b6433f8af374ab26d1fe0fcb70c670675ac
Author: Kim Woelders 
Date:   Sat Nov 16 20:41:08 2019 +0100

Remove __imlib_AllocateData() w,h args

im->w and im->h must always be set before __imlib_AllocateData() is
called due to non-immediate loading (__imlib_AllocateData() only
comes in play when the pixel data must be loaded).
---
 src/lib/image.c   | 13 +++--
 src/lib/image.h   |  2 +-
 src/modules/loaders/loader_argb.c |  5 +++--
 src/modules/loaders/loader_bmp.c  |  2 +-
 src/modules/loaders/loader_ff.c   |  2 +-
 src/modules/loaders/loader_gif.c  |  4 ++--
 src/modules/loaders/loader_ico.c  |  2 +-
 src/modules/loaders/loader_jpeg.c |  4 ++--
 src/modules/loaders/loader_lbm.c  |  2 +-
 src/modules/loaders/loader_png.c  |  4 +---
 src/modules/loaders/loader_pnm.c  |  5 ++---
 src/modules/loaders/loader_tga.c  | 12 ++--
 src/modules/loaders/loader_tiff.c |  2 +-
 src/modules/loaders/loader_webp.c |  2 +-
 src/modules/loaders/loader_xpm.c  |  4 ++--
 15 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/src/lib/image.c b/src/lib/image.c
index d2e0fb9..8533a33 100644
--- a/src/lib/image.c
+++ b/src/lib/image.c
@@ -28,18 +28,19 @@ static ImlibLoader *loaders = NULL;
 static int  cache_size = 4096 * 1024;
 
 __EXPORT__ DATA32  *
-__imlib_AllocateData(ImlibImage * im, int w, int h)
+__imlib_AllocateData(ImlibImage * im)
 {
+   int w = im->w;
+   int h = im->h;
+
+   if (w <= 0 || h <= 0)
+  return NULL;
+
if (im->data_memory_func)
   im->data = im->data_memory_func(NULL, w * h * sizeof(DATA32));
else
   im->data = malloc(w * h * sizeof(DATA32));
 
-   if (im->data)
- {
-im->w = w;
-im->h = h;
- }
return im->data;
 }
 
diff --git a/src/lib/image.h b/src/lib/image.h
index 37ca713..991f428 100644
--- a/src/lib/image.h
+++ b/src/lib/image.h
@@ -104,7 +104,7 @@ struct _imlibloader {
ImlibLoader*next;
 };
 
-DATA32 *__imlib_AllocateData(ImlibImage * im, int w, int h);
+DATA32 *__imlib_AllocateData(ImlibImage * im);
 void__imlib_FreeData(ImlibImage * im);
 void__imlib_ReplaceData(ImlibImage * im, DATA32 * new_data);
 
diff --git a/src/modules/loaders/loader_argb.c 
b/src/modules/loaders/loader_argb.c
index 2a092bc..337b784 100644
--- a/src/modules/loaders/loader_argb.c
+++ b/src/modules/loaders/loader_argb.c
@@ -40,6 +40,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
   else
  UNSET_FLAG(im->flags, F_HAS_ALPHA);
}
+
if (im->loader || immediate_load || progress)
  {
 DATA32 *ptr;
@@ -47,8 +48,8 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 charpper = 0;
 
 /* must set the im->data member before callign progress function */
-ptr = __imlib_AllocateData(im, w, h);
-if (!im->data)
+ptr = __imlib_AllocateData(im);
+if (!ptr)
   {
  im->w = 0;
  fclose(f);
diff --git a/src/modules/loaders/loader_bmp.c b/src/modules/loaders/loader_bmp.c
index fc868fa..9601c7c 100644
--- a/src/modules/loaders/loader_bmp.c
+++ b/src/modules/loaders/loader_bmp.c
@@ -404,7 +404,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
if (!buffer)
   goto quit_err;
 
-   if (!__imlib_AllocateData(im, w, h))
+   if (!__imlib_AllocateData(im))
   goto quit_err;
 
if (fread(buffer, imgsize, 1, f) != 1)
diff --git a/src/modules/loaders/loader_ff.c b/src/modules/loaders/loader_ff.c
index 3c97ad6..e52b99e 100644
--- a/src/modules/loaders/loader_ff.c
+++ b/src/modules/loaders/loader_ff.c
@@ -47,7 +47,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 h = im->h;
 rowlen = w * (sizeof("RGBA") - 1);
 
-if (!(__imlib_AllocateData(im, w, h)) ||
+if (!(__imlib_AllocateData(im)) ||
 !(row = malloc(rowlen * sizeof(uint16_t
   {
  __imlib_FreeData(im);
diff --git a/src/modules/loaders/loader_gif.c b/src/modules/loaders/loader_gif.c
index 6b3f724..baa17c5 100644
--- a/src/modules/loaders/loader_gif.c
+++ b/src/modules/loaders/loader_gif.c
@@ -151,10 +151,10 @@ load(ImlibImage * im, ImlibProgressFunction progress, 
char progress_granularity,
colormap[bg] & 0x00ff : 0x;
   }
 
-if (!__imlib_AllocateData(im, w, h))
+ptr = __imlib_AllocateData(im);
+if (!ptr)
goto quit;
 
-ptr = im->data;
 per_inc = 100.0 / (float)h;
 for (i = 0; i < h; i++)
   {
diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c
index 061b384..d423626 100644
--- a/src/modules/loaders/loader_ico.c
+++ b/src/modules/loaders/loader_ico.c

[EGIT] [legacy/imlib2] master 02/03: ICO loader: Fix non-immediate loading

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=2339dcb1cfb80536e82d0f2eefa9288a08396a5f

commit 2339dcb1cfb80536e82d0f2eefa9288a08396a5f
Author: Kim Woelders 
Date:   Sat Nov 16 20:01:57 2019 +0100

ICO loader: Fix non-immediate loading
---
 src/modules/loaders/loader_ico.c | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c
index c228d39..061b384 100644
--- a/src/modules/loaders/loader_ico.c
+++ b/src/modules/loaders/loader_ico.c
@@ -274,7 +274,7 @@ ico_data_get_nibble(DATA8 * data, int w, int x, int y)
 }
 
 static int
-ico_load(ico_t * ico, ImlibImage * im)
+ico_load(ico_t * ico, ImlibImage * im, int load_data)
 {
int ic, x, y, w, h, d;
DATA32 *cmap;
@@ -312,16 +312,22 @@ ico_load(ico_t * ico, ImlibImage * im)
 
w = ie->w;
h = ie->h;
-   if (w <= 0 || h <= 0)
+   if (!IMAGE_DIMENSIONS_OK(w, h))
   return 0;
 
+   im->w = w;
+   im->h = h;
+
+   SET_FLAG(im->flags, F_HAS_ALPHA);
+
+   if (!load_data)
+  return 1;
+
if (!__imlib_AllocateData(im, w, h))
   return 0;
 
D("Loading icon %d: WxHxD=%dx%dx%d\n", ic, w, h, ie->bih.bpp);
 
-   SET_FLAG(im->flags, F_HAS_ALPHA);
-
cmap = ie->cmap;
pxls = ie->pxls;
mask = ie->mask;
@@ -404,29 +410,23 @@ load(ImlibImage * im, ImlibProgressFunction progress, 
char progress_granularity,
  char immediate_load)
 {
ico_t  *ico;
+   int ok, load_data;
 
ico = ico_read(im->real_file);
if (!ico)
   return 0;
 
-   if (im->loader || immediate_load || progress)
+   load_data = im->loader || immediate_load || progress;
+   ok = ico_load(ico, im, load_data);
+   if (ok)
  {
-if (!ico_load(ico, im))
-   goto error;
-
 if (progress)
progress(im, 100, 0, 0, im->w, im->h);
  }
 
ico_delete(ico);
 
-   return 1;
-
- error:
-   ico_delete(ico);
-   __imlib_FreeData(im);
-
-   return 0;
+   return ok;
 }
 
 void

-- 




[EGIT] [core/efl] master 01/01: The header was filled with the standard template, now it's filled with correct infos

2019-11-16 Thread Massimo Maiurana
maxerba pushed a commit to branch master.

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

commit 4c31f653f5449cffb7da4a1601e63acf1e5dac14
Author: maxerba 
Date:   Sat Nov 16 18:11:27 2019 +0100

The header was filled with the standard template, now it's filled with 
correct infos
---
 po/hu.po | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/po/hu.po b/po/hu.po
index adcd4a1649..2f4f4163a0 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,7 +1,7 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Enlightenment development team
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR , YEAR.
+# Hungarian translation for Efl.
+# Copyright (C) 2014 Enlightenment development team
+# This file is put in the public domain.
+# Páder Rezső , 2014.
 #
 #: src/lib/elementary/elm_config.c:4135
 msgid ""

-- 




[EGIT] [apps/terminology] master 01/01: Merge branch 'terminology-1.6'

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=f6c15410dc5146ecc415fce8c5e4dd1bb46cc2eb

commit f6c15410dc5146ecc415fce8c5e4dd1bb46cc2eb
Merge: abefcdc b14ca5b
Author: Boris Faure 
Date:   Sat Nov 16 17:36:34 2019 +0100

Merge branch 'terminology-1.6'


-- 




[EGIT] [apps/terminology] terminology-1.6 01/01: start work on possible 1.6.1

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch terminology-1.6.

http://git.enlightenment.org/apps/terminology.git/commit/?id=b14ca5b4eb8af91a7095831f83f3e21242beff37

commit b14ca5b4eb8af91a7095831f83f3e21242beff37
Author: Boris Faure 
Date:   Sat Nov 16 17:33:55 2019 +0100

start work on possible 1.6.1
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index dbac9a7..b081ddc 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('terminology', 'c',
-version: '1.6.0',
+version: '1.6.1',
 default_options: ['buildtype=plain', 'c_std=gnu99'],
 license: 'BSD')
 

-- 




[EGIT] [apps/terminology] master 01/01: mv data/snap /

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=abefcdcca1cbc6d963306b8c7b74304e153e312e

commit abefcdcca1cbc6d963306b8c7b74304e153e312e
Author: Boris Faure 
Date:   Sat Nov 16 17:22:36 2019 +0100

mv data/snap /
---
 {data/snap => snap}/snapcraft.yaml | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/data/snap/snapcraft.yaml b/snap/snapcraft.yaml
similarity index 100%
rename from data/snap/snapcraft.yaml
rename to snap/snapcraft.yaml

-- 




[EGIT] [apps/evisum] master 01/01: CPU: Only use active CPU count for generic CPU progress.

2019-11-16 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=f472733f06a951ec69da96564a40603e327e767e

commit f472733f06a951ec69da96564a40603e327e767e
Author: Alastair Poole 
Date:   Sat Nov 16 15:58:16 2019 +

CPU: Only use active CPU count for generic CPU progress.

Some systems disable CPU cores. In the CPU tab this is fine,
but for an accurate representation of CPU load we need to check
for the number of active CPUs. E.g. OpenBSD disables HT on amd64
thus a 2-core system will only use 1 core.
---
 src/system.c | 20 
 src/system.h |  3 +++
 src/ui.c |  2 +-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/system.c b/src/system.c
index 261d82d..42ff2d3 100644
--- a/src/system.c
+++ b/src/system.c
@@ -206,6 +206,26 @@ cpu_count(void)
return cores;
 }
 
+int
+system_cpu_online_count_get(void)
+{
+#if defined(__linux__)
+   return cpu_count();
+#endif
+   static int cores = 0;
+
+   if (cores != 0) return cores;
+
+   size_t len;
+   int mib[2] = { CTL_HW, HW_NCPUONLINE };
+
+   len = sizeof(cores);
+   if (sysctl(mib, 2, , , NULL, 0) < 0)
+ return cpu_count();
+
+   return cores;
+}
+
 static void
 _cpu_state_get(cpu_core_t **cores, int ncpu)
 {
diff --git a/src/system.h b/src/system.h
index 3f98a70..e7d2527 100644
--- a/src/system.h
+++ b/src/system.h
@@ -74,4 +74,7 @@ int
 void
  system_power_state_get(power_t *power);
 
+int
+ system_cpu_online_count_get();
+
 #endif
diff --git a/src/ui.c b/src/ui.c
index 83bc79f..5fdac0b 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -434,7 +434,7 @@ _system_stats_feedback_cb(void *data, Ecore_Thread *thread, 
void *msg)
 free(results->cores[i]);
  }
 
-   cpu_usage = cpu_usage / results->cpu_count;
+   cpu_usage = cpu_usage / system_cpu_online_count_get();
 
_progressbar_value_force_set(ui->progress_cpu, (double)cpu_usage / 100);
 

-- 




[EGIT] [apps/terminology] master 01/01: add first version of snapcraft.yaml

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=a8479528db32eef2abf5c88098d33f33916c958f

commit a8479528db32eef2abf5c88098d33f33916c958f
Author: Boris Faure 
Date:   Sat Nov 16 16:56:26 2019 +0100

add first version of snapcraft.yaml
---
 data/snap/snapcraft.yaml | 185 +++
 1 file changed, 185 insertions(+)

diff --git a/data/snap/snapcraft.yaml b/data/snap/snapcraft.yaml
new file mode 100644
index 000..2dfb666
--- /dev/null
+++ b/data/snap/snapcraft.yaml
@@ -0,0 +1,185 @@
+name: terminology
+version: git
+summary: Terminal Emulator written with the Enlightenment Foundation Libraries
+description: |
+  Terminology is a terminal emulator for Linux/BSD/UNIX systems that uses EFL.
+  It has a whole bunch of bells and whistles. Use it as your regular vt100
+  terminal emulator with all the usual features, such as 256 color support.
+  Terminology is designed to emulate Xterm as closely as possible in most
+  respects.
+base: core18
+license: BSD-2-Clause
+confinement: classic
+grade: stable
+icon: data/images/terminology.png
+apps:
+  terminology:
+command: terminology
+desktop: usr/share/applications/terminology.desktop
+plugs:
+  - desktop
+  - desktop-legacy
+  - network
+  - network-bind
+  - home
+  - opengl
+  - pulseaudio
+  - x11
+  - wayland
+  - unity7
+  - audio-playback
+  tyalpha:
+command: tyalpha
+  tybg:
+command: tybg
+  tycat:
+command: tycat
+  tyls:
+command: tyls
+  typop:
+command: typop
+  tyq:
+command: tyq
+  tysend:
+command: tysend
+parts:
+  efl:
+plugin: meson
+source-type: tar
+source: https://download.enlightenment.org/rel/libs/efl/efl-1.23.2.tar.xz
+meson-parameters:
+  - --prefix=/usr
+  - --libdir=/usr/lib
+  - --buildtype=release
+  - --default-library=shared
+  - -Dnls=false
+  - -Dopengl=es-egl
+  - -Dxinput22=true
+  - -Dbuffer=false
+  - -Dfb=false
+  - -Ddrm=false
+  - -Dtslib=false
+  - -Dharfbuzz=true
+  - -Dwl=true
+  - -Dnetwork-backend=connman
+  - -Devas-loaders-disabler=pdf,ps,raw,tiff,json,webp
+  - -Dphysics=false
+  - -Davahi=false
+  - -Deeze=false
+  - -Dbindings=
+  - -Dbuild-examples=false
+  - -Dbuild-tests=false
+build-packages:
+  - gcc
+  - pkg-config
+  - libdbus-1-dev
+  - libssl-dev
+  - libfontconfig1-dev
+  - libfreetype6-dev
+  - libfribidi-dev
+  - libgif-dev
+  - libgstreamer1.0-dev
+  - libgstreamer-plugins-base1.0-dev
+  - libharfbuzz-dev
+  - libjpeg-turbo8-dev
+  - libpng-dev
+  - libpulse-dev
+  - librsvg2-dev
+  - libsndfile1-dev
+  - libx11-dev
+  - libxkbcommon-dev
+  - libxkbcommon-x11-dev
+  - libxcomposite-dev
+  - libxcursor-dev
+  - libxdamage-dev
+  - libxinerama-dev
+  - libxrandr-dev
+  - libxss-dev
+  - libxtst-dev
+  - libsystemd-dev
+  - libluajit-5.1-dev
+  - libibus-1.0-dev
+  - libscim-dev
+stage-packages:
+  - libcairo2
+  - libcroco3
+  - libdatrie1
+  - libegl1
+  - libfontconfig1
+  - libfreetype6
+  - libfribidi0
+  - libgdk-pixbuf2.0-0
+  - libgif7
+  - libgles2
+  - libglvnd0
+  - libgraphite2-3
+  - libgstreamer-plugins-base1.0-0
+  - libgstreamer1.0-0
+  - libharfbuzz0b
+  - libibus-1.0-5
+  - libicu60
+  - libjpeg-turbo8
+  - libluajit-5.1-2
+  - liborc-0.4-0
+  - libpango-1.0-0
+  - libpangocairo-1.0-0
+  - libpangoft2-1.0-0
+  - libpixman-1-0
+  - libpng16-16
+  - librsvg2-2
+  - libthai0
+  - libx11-6
+  - libx11-xcb1
+  - libxau6
+  - libxcb-render0
+  - libxcb-shm0
+  - libxcb1
+  - libxcomposite1
+  - libxcursor1
+  - libxdamage1
+  - libxdmcp6
+  - libxext6
+  - libxfixes3
+  - libxi6
+  - libxinerama1
+  - libxkbcommon-x11-0
+  - libxml2
+  - libxrandr2
+  - libxrender1
+  - libxss1
+  - libxtst6
+  terminology:
+plugin: meson
+after: [ efl ]
+source-type: git
+source: https://github.com/billiob/terminology
+meson-parameters:
+  - --prefix=/usr
+stage-packages:
+  - libcurl4
+  - libfontconfig1
+  - libfreetype6
+  - libfribidi0
+  - libgif7
+  - libgraphite2-3
+  - libharfbuzz0b
+  - libjpeg-turbo8
+  - libluajit-5.1-2
+  - libpcre3
+  - libpng16-16
+  - libx11-6
+  - libx11-xcb1
+  - libxau6
+  - libxcb1
+  - libxcomposite1
+  - libxcursor1
+  - libxdamage1
+  - libxdmcp6
+  - libxext6
+  - libxfixes3
+  - libxi6
+  - libxinerama1
+  - libxrandr2
+  - libxrender1
+  - libxss1
+  - libxtst6

-- 




[EGIT] [core/efl] master 02/06: elm theme - ensure hotspot is visible so it is calculated

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 2ef20d148905fc1619f7ebd9720b316993dcbb4d
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 12:56:17 2019 +

elm theme - ensure hotspot is visible so it is calculated

new changes to avoid calcs on invisible parts means the hotspot doesnt
recalc thus doesnt move thus... is wrong. make it visible in the theme
to ensure it is.
---
 data/elementary/themes/edc/pointer.edc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/data/elementary/themes/edc/pointer.edc 
b/data/elementary/themes/edc/pointer.edc
index 3f57e27982..b30c92f39b 100644
--- a/data/elementary/themes/edc/pointer.edc
+++ b/data/elementary/themes/edc/pointer.edc
@@ -39,7 +39,6 @@ group { name: "e/pointer/enlightenment/default/color";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel1.relative: (5/32) (5/32);
 rel.to: "base";
 rel2.relative: (5/32) (5/32); 
@@ -118,7 +117,6 @@ group { name: "e/pointer/enlightenment/default/mono";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel1.offset: 6 8;
 rel1.to: "base";
 rel2.offset: 6 8;
@@ -468,7 +466,6 @@ group { name: "e/pointer/enlightenment/entry/color";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel1.relative: 0.5 0.5;
 rel1.to: "base";
 rel2.to: "base";

-- 




[EGIT] [core/efl] master 04/06: efreet - consider ctime changes as changes too

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 7096634a3969fdef8e8b3d13a70d034cc0ea41e8
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 12:58:34 2019 +

efreet - consider ctime changes as changes too

some distros do odd things with source desktop files and set their
mtime timestamps to 0... thus we can't tell that there is a change.
thier ctimes do change, so consider the newer of either of these as
the modification time to not miss updates

@fix
---
 src/bin/efreet/efreet_desktop_cache_create.c | 21 +++--
 src/lib/efreet/efreet_desktop.c  | 12 +++-
 2 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/bin/efreet/efreet_desktop_cache_create.c 
b/src/bin/efreet/efreet_desktop_cache_create.c
index ec7553dcc8..8988168e94 100644
--- a/src/bin/efreet/efreet_desktop_cache_create.c
+++ b/src/bin/efreet/efreet_desktop_cache_create.c
@@ -70,13 +70,22 @@ cache_add(Eet_File *ef, const char *path, const char 
*file_id, int priority EINA
 *changed = 1;
 INF("  NEW");
 }
-else if (ecore_file_mod_time(desk->orig_path) != desk->load_time)
+else
 {
-efreet_desktop_free(desk);
-*changed = 1;
-desk = efreet_desktop_uncached_new(path);
-if (desk) INF("  CHANGED");
-else  INF("  NO UNCACHED");
+struct stat st;
+if (!stat(desk->orig_path, ))
+{
+   time_t modtime = st.st_mtime;
+   if (modtime < st.st_ctime) modtime = st.st_ctime;
+   if (modtime != desk->load_time)
+   {
+  efreet_desktop_free(desk);
+  *changed = 1;
+  desk = efreet_desktop_uncached_new(path);
+  if (desk) INF("  CHANGED");
+  else  INF("  NO UNCACHED");
+   }
+}
 }
 if (!desk) return 1;
 if (file_id && old_file_ids && !eina_hash_find(old_file_ids->hash, 
file_id))
diff --git a/src/lib/efreet/efreet_desktop.c b/src/lib/efreet/efreet_desktop.c
index e56d06c908..f0c46d4c33 100644
--- a/src/lib/efreet/efreet_desktop.c
+++ b/src/lib/efreet/efreet_desktop.c
@@ -218,7 +218,17 @@ efreet_desktop_empty_new(const char *file)
 if (!desktop) return NULL;
 
 desktop->orig_path = strdup(file);
-desktop->load_time = ecore_file_mod_time(file);
+do
+{
+   struct stat st;
+
+   if (!stat(desktop->orig_path, ))
+   {
+  time_t modtime = st.st_mtime;
+  if (modtime < st.st_ctime) modtime = st.st_ctime;
+  desktop->load_time = modtime;
+   }
+} while (0);
 
 desktop->ref = 1;
 

-- 




[EGIT] [core/efl] feature/themes/flat 01/02: TH - pointer - visible hot

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch feature/themes/flat.

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

commit db5d66371732705a6e96068b21d01e0d3b59e593
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 14:25:05 2019 +

TH - pointer - visible hot
---
 data/elementary/themes/edc/pointer.edc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/data/elementary/themes/edc/pointer.edc 
b/data/elementary/themes/edc/pointer.edc
index ac2c29feb5..b425c6bb24 100644
--- a/data/elementary/themes/edc/pointer.edc
+++ b/data/elementary/themes/edc/pointer.edc
@@ -29,7 +29,6 @@ group { name: "e/pointer/enlightenment/default/color";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel.to: "base";
 rel1.relative: (5/32) (5/32);
 rel2.relative: (5/32) (5/32);
@@ -122,7 +121,6 @@ group { name: "e/pointer/enlightenment/default/mono";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel1.offset: 6 8;
 rel1.to: "base";
 rel2.offset: 6 8;
@@ -446,7 +444,6 @@ group { name: "e/pointer/enlightenment/entry/color";
   part { name: "e.swallow.hotspot"; type: SWALLOW;
  description { state: "default" 0.0;
 fixed: 1 1;
-visible: 0;
 rel1.to: "base";
 rel1.relative: 0.5 0.5;
 rel2.to: "base";

-- 




[EGIT] [core/efl] master 06/06: edje - box - calc min size correctly at start ...

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 9876a78fd37c20e96373434b5d129da48bc8bb66
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 14:22:48 2019 +

edje - box - calc min size correctly at start ...

this fixes a logic hole where no chosen desc has been applied yet to a
box and thus it has no start layout thus no way to calc a min size.
this breaks min size calcs you do when setting up and object. this
fixes that by forcing the chosen desk on a min size calc so there is
one.

@fix
---
 src/lib/edje/edje_box_layout.c |  5 +++--
 src/lib/edje/edje_calc.c   | 42 --
 2 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/src/lib/edje/edje_box_layout.c b/src/lib/edje/edje_box_layout.c
index a1c0d6048a..a3458cf281 100644
--- a/src/lib/edje/edje_box_layout.c
+++ b/src/lib/edje/edje_box_layout.c
@@ -107,7 +107,8 @@ static void
 _edje_box_layout(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data)
 {
Edje_Part_Box_Animation *anim = data;
-   if (anim->progress < 0.01)
+
+   if (anim->progress == 0.0)
  {
 if (anim->start.layout)
   {
@@ -194,7 +195,7 @@ _edje_box_recalc_apply(Edje *ed EINA_UNUSED, Edje_Real_Part 
*ep, Edje_Calc_Param
 ep->typedata.container->anim->end.layout = NULL;
  }
 
-   if (ep->description_pos < 0.01 || 
!ep->typedata.container->anim->start.layout)
+   if (ep->description_pos == 0.0 || 
!ep->typedata.container->anim->start.layout)
  {
 _edje_box_layout_find_all(chosen_desc->box.layout, 
chosen_desc->box.alt_layout, >typedata.container->anim->start.layout, 
>typedata.container->anim->start.data, 
>typedata.container->anim->start.free_data);
 ep->typedata.container->anim->start.padding.x = 
chosen_desc->box.padding.x;
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index c636abed95..5e1ce0bcae 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2965,6 +2965,22 @@ _edje_part_recalc_single_mesh0(Edje_Calc_Params *params,
params->type.node->scale_3d.z = mesh_desc->mesh_node.scale_3d.z;
 }
 
+static void
+_edje_table_recalc_apply(Edje *ed EINA_UNUSED,
+ Edje_Real_Part *ep,
+ Edje_Calc_Params *p3 EINA_UNUSED,
+ Edje_Part_Description_Table *chosen_desc)
+{
+   evas_obj_table_homogeneous_set(ep->object, chosen_desc->table.homogeneous);
+   evas_obj_table_align_set(ep->object, TO_DOUBLE(chosen_desc->table.align.x), 
TO_DOUBLE(chosen_desc->table.align.y));
+   evas_obj_table_padding_set(ep->object, chosen_desc->table.padding.x, 
chosen_desc->table.padding.y);
+   if (evas_object_smart_need_recalculate_get(ep->object))
+ {
+efl_canvas_group_need_recalculate_set(ep->object, 0);
+efl_canvas_group_calculate(ep->object);
+ }
+}
+
 static void
 _edje_part_recalc_single(Edje *ed,
  Edje_Real_Part *ep,
@@ -3086,13 +3102,19 @@ _edje_part_recalc_single(Edje *ed,
 // limit size if needed
 if (Edje_Part_Description_Table *)chosen_desc)->table.min.h) ||
  (((Edje_Part_Description_Table *)chosen_desc)->table.min.v)))
-  _edje_part_recalc_single_table(ep, chosen_desc, , );
+  {
+ _edje_table_recalc_apply(ed, ep, params, 
(Edje_Part_Description_Table *)chosen_desc);
+ _edje_part_recalc_single_table(ep, chosen_desc, , );
+  }
 break;
   case EDJE_PART_TYPE_BOX:
 // limit size if needed
 if Edje_Part_Description_Box *)chosen_desc)->box.min.h) ||
 (((Edje_Part_Description_Box *)chosen_desc)->box.min.v))
-  _edje_part_recalc_single_box(ep, chosen_desc, , );
+  {
+ _edje_box_recalc_apply(ed, ep, params, (Edje_Part_Description_Box 
*)chosen_desc);
+ _edje_part_recalc_single_box(ep, chosen_desc, , );
+  }
 break;
   case EDJE_PART_TYPE_IMAGE:
 _edje_part_recalc_single_image0(ed, ep, params, 
(Edje_Part_Description_Image *)desc, pos);
@@ -3160,22 +3182,6 @@ _edje_part_recalc_single(Edje *ed,
_edje_part_recalc_single_map(ed, ep, center, zoom_center, light, persp, 
desc, chosen_desc, params);
 }
 
-static void
-_edje_table_recalc_apply(Edje *ed EINA_UNUSED,
- Edje_Real_Part *ep,
- Edje_Calc_Params *p3 EINA_UNUSED,
- Edje_Part_Description_Table *chosen_desc)
-{
-   evas_obj_table_homogeneous_set(ep->object, chosen_desc->table.homogeneous);
-   evas_obj_table_align_set(ep->object, TO_DOUBLE(chosen_desc->table.align.x), 
TO_DOUBLE(chosen_desc->table.align.y));
-   evas_obj_table_padding_set(ep->object, chosen_desc->table.padding.x, 
chosen_desc->table.padding.y);
-   if (evas_object_smart_need_recalculate_get(ep->object))
- {
-

[EGIT] [core/efl] feature/themes/flat 02/02: TH - ibar - thumb popup - fade dont zoom to avoid fixed size sadness

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch feature/themes/flat.

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

commit db185ed01c295e0dfe1b376f9c40e0dc7b826cc3
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 14:25:20 2019 +

TH - ibar - thumb popup - fade dont zoom to avoid fixed size sadness
---
 data/elementary/themes/edc/ibar-ibox.edc | 18 +-
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/data/elementary/themes/edc/ibar-ibox.edc 
b/data/elementary/themes/edc/ibar-ibox.edc
index 32e87b5d03..3072579317 100644
--- a/data/elementary/themes/edc/ibar-ibox.edc
+++ b/data/elementary/themes/edc/ibar-ibox.edc
@@ -710,19 +710,8 @@ group { name: "e/modules/ibox/drop_overlay";
 
 group { name: "e/modules/ibar/menu";
parts {
-  part { name: "sizer"; type: SPACER;
- description { state: "default"; }
- description { state: "hidden";
-fixed: 1 1;
-rel1.relative: 0.5 1.0;
-rel2.relative: 0.5 1.0;
-minmul: 0 0;
- }
-  }
   part { name: "clip"; type: RECT;
- description { state: "default";
-rel.to: "sizer";
- }
+ description { state: "default"; }
  description { state: "hidden";
 inherit: "default";
 color: 0 0 0 0;
@@ -731,7 +720,6 @@ group { name: "e/modules/ibar/menu";
   part { name: "base"; type: RECT; mouse_events: 0;
  clip_to: "clip";
  description { state: "default" 0.0;
-rel.to: "sizer";
 color: 0 0 0 192;
  }
   }
@@ -739,7 +727,6 @@ group { name: "e/modules/ibar/menu";
  clip_to: "clip";
  scale: 1;
  description { state: "default";
-rel.to: "sizer";
 rel1.offset: 4 4;
 rel2.offset: -5 -5;
 offscale;
@@ -754,13 +741,11 @@ group { name: "e/modules/ibar/menu";
programs {
   program { signal: "e,state,hidden"; source: "e";
  action: STATE_SET "hidden" 0.0;
- target: "sizer";
  target: "clip";
   }
 
   program { signal: "e,action,show"; source: "e";
  action: STATE_SET "default" 0.0;
- target: "sizer";
  target: "clip";
  transition: SINUSOIDAL 0.2;
  after: "show2";
@@ -771,7 +756,6 @@ group { name: "e/modules/ibar/menu";
 
   program { signal: "e,action,hide"; source: "e";
  action: STATE_SET "hidden" 0.0;
- target: "sizer";
  target: "clip";
  transition: SINUSOIDAL 0.2;
  after: "hide2";

-- 




[EGIT] [core/efl] master 01/06: add .uuid files to ignore

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit d6261f02fbe49df58f2d0bf19e30fe3f152224a5
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 13:00:12 2019 +

add .uuid files to ignore
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index ead1bd993e..f04fa5d6f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -94,3 +94,4 @@ Session.vim
 /.settings/
 efl_libs.csv
 .vscode/
+.uuid

-- 




[EGIT] [core/efl] master 05/06: ecore-x - add some xi2 api's for fiddling with device properties

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 42e691d9b4de72755747a376655663b1079bb592
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 13:00:21 2019 +

ecore-x - add some xi2 api's for fiddling with device properties

add some infra to be able to get and set device properties (as well
as know if devices changed to we can refersh a gui or re-apply saved
settings etc.). it doesn't do everything but... it adds enough to
build on in e.
---
 src/lib/ecore_x/Ecore_X.h|  11 +++
 src/lib/ecore_x/Ecore_X_Atoms.h  |   2 +
 src/lib/ecore_x/ecore_x.c|   4 +
 src/lib/ecore_x/ecore_x_atoms_decl.h |   4 +
 src/lib/ecore_x/ecore_x_xi2.c| 179 +++
 5 files changed, 200 insertions(+)

diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 223bc912ae..7d4423048b 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -1197,6 +1197,8 @@ EAPI extern int ECORE_X_RAW_BUTTON_PRESS;   /**< @since 
1.8 */
 EAPI extern int ECORE_X_RAW_BUTTON_RELEASE; /**< @since 1.8 */
 EAPI extern int ECORE_X_RAW_MOTION; /**< @since 1.8 */
 
+EAPI extern int ECORE_X_DEVICES_CHANGE; /**< @since 1.24 */
+
 typedef enum _Ecore_X_WM_Protocol
 {
/** If enabled the window manager will be asked to send a
@@ -2568,6 +2570,15 @@ EAPI Eina_Bool   
ecore_x_input_raw_select(Ecore_X_Window win); /**< @since 1.8
 EAPI Eina_Bool  ecore_x_input_touch_devices_grab(Ecore_X_Window win); /**< 
@since 1.15 */
 EAPI Eina_Bool  ecore_x_input_touch_devices_ungrab(void); /**< @since 1.15 
*/
 
+EAPI void   ecore_x_input_devices_update(void); /**< @since 1.24 */
+EAPI intecore_x_input_device_num_get(void); /**< @since 1.24 */
+EAPI intecore_x_input_device_id_get(int slot); /**< @since 1.24 */
+EAPI const char*ecore_x_input_device_name_get(int slot); /**< @since 1.24 
*/
+EAPI char **ecore_x_input_device_properties_list(int slot, int 
*num_ret); /**< @since 1.24 */
+EAPI void   ecore_x_input_device_properties_free(char **list, int 
num); /**< @since 1.24 */
+EAPI void  *ecore_x_input_device_property_get(int slot, const char 
*prop, int *num_ret, Ecore_X_Atom *format_ret, int *unit_size_ret); /**< @since 
1.24 */
+EAPI void   ecore_x_input_device_property_set(int slot, const char 
*prop, void *data, int num, Ecore_X_Atom format, int unit_size); /**< @since 
1.24 */
+
 EAPI Eina_Bool  ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win);
 
 typedef enum _Ecore_X_Gesture_Event_Mask
diff --git a/src/lib/ecore_x/Ecore_X_Atoms.h b/src/lib/ecore_x/Ecore_X_Atoms.h
index 15c8037c97..35f3a885c2 100644
--- a/src/lib/ecore_x/Ecore_X_Atoms.h
+++ b/src/lib/ecore_x/Ecore_X_Atoms.h
@@ -9,6 +9,8 @@
 /* generic atoms */
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_ATOM;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_CARDINAL;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_INTEGER; /**< @since 1.24 */
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_FLOAT; /**< @since 1.24 */
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_COMPOUND_TEXT;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_FILE_NAME;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_STRING;
diff --git a/src/lib/ecore_x/ecore_x.c b/src/lib/ecore_x/ecore_x.c
index a32f42f641..cbe2d137cd 100644
--- a/src/lib/ecore_x/ecore_x.c
+++ b/src/lib/ecore_x/ecore_x.c
@@ -167,6 +167,8 @@ EAPI int ECORE_X_RAW_BUTTON_PRESS = 0;
 EAPI int ECORE_X_RAW_BUTTON_RELEASE = 0;
 EAPI int ECORE_X_RAW_MOTION = 0;
 
+EAPI int ECORE_X_DEVICES_CHANGE = 0;
+
 #ifdef LOGRT
 static double t0 = 0.0;
 static Status (*_logrt_real_reply)(Display *disp,
@@ -655,6 +657,8 @@ _ecore_x_init2(void)
ECORE_X_RAW_BUTTON_RELEASE = ecore_event_type_new();
ECORE_X_RAW_MOTION = ecore_event_type_new();
 
+   ECORE_X_DEVICES_CHANGE = ecore_event_type_new();
+
_ecore_x_modifiers_get();
 
_ecore_x_atoms_init();
diff --git a/src/lib/ecore_x/ecore_x_atoms_decl.h 
b/src/lib/ecore_x/ecore_x_atoms_decl.h
index 78545c7d5e..c4d8ead63f 100644
--- a/src/lib/ecore_x/ecore_x_atoms_decl.h
+++ b/src/lib/ecore_x/ecore_x_atoms_decl.h
@@ -1,6 +1,8 @@
 /* generic atoms */
 EAPI Ecore_X_Atom ECORE_X_ATOM_ATOM = 0;
 EAPI Ecore_X_Atom ECORE_X_ATOM_CARDINAL = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_INTEGER = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_FLOAT = 0;
 EAPI Ecore_X_Atom ECORE_X_ATOM_COMPOUND_TEXT = 0;
 EAPI Ecore_X_Atom ECORE_X_ATOM_FILE_NAME = 0;
 EAPI Ecore_X_Atom ECORE_X_ATOM_STRING = 0;
@@ -398,6 +400,8 @@ const Atom_Item atom_items[] =
 {
{ "ATOM", _X_ATOM_ATOM },
{ "CARDINAL", _X_ATOM_CARDINAL },
+   { "INTEGER", _X_ATOM_INTEGER },
+   { "FLOAT", _X_ATOM_FLOAT },
{ "COMPOUND_TEXT", _X_ATOM_COMPOUND_TEXT },
{ "FILE_NAME", _X_ATOM_FILE_NAME },
{ "STRING", _X_ATOM_STRING },
diff --git a/src/lib/ecore_x/ecore_x_xi2.c b/src/lib/ecore_x/ecore_x_xi2.c
index 089c2a7029..6bbbd855b6 100644
--- 

[EGIT] [core/efl] master 03/06: strings - be cleaere we are initialising buffers not appending

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit f8cf378868cd12f870f2eee2100b96b72c5bb08c
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 12:57:14 2019 +

strings - be cleaere we are initialising buffers not appending

also should silence possible code checkers.
---
 src/bin/edje/edje_player.c | 2 +-
 src/lib/elementary/elc_naviframe.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/edje/edje_player.c b/src/bin/edje/edje_player.c
index d3ae0c9aeb..cacfdf2974 100644
--- a/src/bin/edje/edje_player.c
+++ b/src/bin/edje/edje_player.c
@@ -842,7 +842,7 @@ _edje_circul(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info)
char *group = data;
 
part_name = eina_list_data_get(eina_list_last(parts));
-   strncat(buf, part_name, sizeof(buf) - 1);
+   strncpy(buf, part_name, sizeof(buf) - 1);
part_name[sizeof(buf) - 1] = 0;
EINA_LIST_FOREACH(parts, l, part_name)
  {
diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index 58a7bfce3b..10368cb014 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -512,9 +512,9 @@ _elm_naviframe_item_elm_widget_item_part_text_set(Eo *eo_it,
if (_elm_config->access_mode)
  _access_obj_process(nit, EINA_TRUE);
 
-   memset(buf, 0x0, sizeof(buf));
+   buf[0] = 0;
if (nit->title_label)
- strncat(buf, nit->title_label, sizeof(buf) - 1);
+ strncpy(buf, nit->title_label, sizeof(buf) - 1);
if (nit->subtitle_label)
  {
 if ((nit->title_label) && (strlen(buf) < (sizeof(buf) - 2)))

-- 




[EGIT] [core/enlightenment] master 01/01: pointer - use the swallowed obj geom as that is what we are tracking

2019-11-16 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=42d8e3b07bda1986bde90cf0a97974a96e9f4e01

commit 42d8e3b07bda1986bde90cf0a97974a96e9f4e01
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Nov 16 14:21:15 2019 +

pointer - use the swallowed obj geom as that is what we are tracking
---
 src/bin/e_pointer.c | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c
index 3b5a21864..c27a44d29 100644
--- a/src/bin/e_pointer.c
+++ b/src/bin/e_pointer.c
@@ -217,7 +217,7 @@ _e_pointer_cb_mouse_wheel(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *ev
return ECORE_CALLBACK_PASS_ON;
 }
 
-static void 
+static void
 _e_pointer_cb_hot_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
 {
E_Pointer *ptr = data;
@@ -225,20 +225,20 @@ _e_pointer_cb_hot_move(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EINA
 
if (!ptr->e_cursor) return;
if (!evas_object_visible_get(ptr->o_ptr)) return;
-   edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot", 
- , , NULL, NULL);
+   evas_object_geometry_get(ptr->buffer_o_hot,
+, , NULL, NULL);
_e_pointer_hot_update(ptr, x, y);
 }
 
-static void 
+static void
 _e_pointer_cb_hot_show(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event EINA_UNUSED)
 {
E_Pointer *ptr = data;
int x = 0, y = 0;
 
if (!ptr->e_cursor) return;
-   edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot", 
- , , NULL, NULL);
+   evas_object_geometry_get(ptr->buffer_o_hot,
+, , NULL, NULL);
_e_pointer_hot_update(ptr, x, y);
 }
 
@@ -465,6 +465,7 @@ _e_pointer_type_set(E_Pointer *ptr, const char *type)
 /* try to set the edje object theme */
 if (!e_theme_edje_object_set(ptr->o_ptr, "base/theme/pointer", cursor))
   cursor[0] = 0;
+edje_object_part_swallow(ptr->o_ptr, "e.swallow.hotspot", ptr->o_hot);
 if (!init)
   {
  edje_object_signal_emit(ptr->o_ptr, "e,state,init", "e");
@@ -474,8 +475,8 @@ _e_pointer_type_set(E_Pointer *ptr, const char *type)
 _e_pointer_x11_setup(ptr, cursor);
 if (!cursor[0]) return;
 
-edje_object_part_geometry_get(ptr->o_ptr, "e.swallow.hotspot", 
-  , , NULL, NULL);
+evas_object_geometry_get(ptr->buffer_o_hot,
+ , , NULL, NULL);
 _e_pointer_hot_update(ptr, x, y);
 
 if (ptr->canvas)

-- 




[EGIT] [legacy/imlib2] master 02/04: TGA loader: More mostly cosmetic changes

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=9cdd1bc007d777dff6de5d94fb0e6bdcd78046c8

commit 9cdd1bc007d777dff6de5d94fb0e6bdcd78046c8
Author: Kim Woelders 
Date:   Sat Nov 16 08:57:05 2019 +0100

TGA loader: More mostly cosmetic changes
---
 src/modules/loaders/loader_tga.c | 60 +---
 1 file changed, 31 insertions(+), 29 deletions(-)

diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c
index ce724dd..7516e5b 100644
--- a/src/modules/loaders/loader_tga.c
+++ b/src/modules/loaders/loader_tga.c
@@ -185,17 +185,14 @@ load(ImlibImage * im, ImlibProgressFunction progress,
int fd, rc;
void   *seg, *filedata;
struct stat ss;
-   int bpp, vinverted = 0;
-   int rle = 0, footer_present = 0;
-
tga_header *header;
tga_footer *footer;
-
+   int footer_present;
+   int rle, bpp, hasa, vinverted;
unsigned long   datasize;
unsigned char  *bufptr, *bufend, *palette = 0;
DATA32 *dataptr;
-
-   int y, palcnt = 0, palbpp = 0;
+   int palcnt = 0, palbpp = 0;
unsigned char   a, r, g, b;
 
fd = open(im->real_file, O_RDONLY);
@@ -221,12 +218,8 @@ load(ImlibImage * im, ImlibProgressFunction progress,
footer = (tga_footer *) ((char *)filedata + ss.st_size - 
sizeof(tga_footer));
 
/* check the footer to see if we have a v2.0 TGA file */
-   if (memcmp(footer->signature, TGA_SIGNATURE, sizeof(footer->signature)) == 
0)
-  footer_present = 1;
-
-   if (!footer_present)
- {
- }
+   footer_present =
+  memcmp(footer->signature, TGA_SIGNATURE, sizeof(footer->signature)) == 0;
 
if ((size_t)ss.st_size < sizeof(tga_header) + header->idLength +
(footer_present ? sizeof(tga_footer) : 0))
@@ -244,30 +237,42 @@ load(ImlibImage * im, ImlibProgressFunction progress,
/* this flag indicated bottom-up pixel storage */
vinverted = !(header->descriptor & TGA_DESC_VERTICAL);
 
+   rle = 0; /* RLE compressed */
+
switch (header->imageType)
  {
+ default:
+goto quit;
+
+ case TGA_TYPE_MAPPED:
+ case TGA_TYPE_COLOR:
+ case TGA_TYPE_GRAY:
+break;
+
  case TGA_TYPE_MAPPED_RLE:
  case TGA_TYPE_COLOR_RLE:
  case TGA_TYPE_GRAY_RLE:
 rle = 1;
 break;
+ }
 
- case TGA_TYPE_MAPPED:
- case TGA_TYPE_COLOR:
- case TGA_TYPE_GRAY:
-rle = 0;
-break;
+   bpp = header->bpp;   /* Bits per pixel */
+   hasa = 0;/* Has alpha */
 
+   switch (bpp)
+ {
  default:
 goto quit;
+ case 32:
+if (header->descriptor & TGA_DESC_ABITS)
+   hasa = 1;
+break;
+ case 24:
+break;
+ case 8:
+break;
  }
 
-   /* bits per pixel */
-   bpp = header->bpp;
-
-   if (!((bpp == 32) || (bpp == 24) || (bpp == 8)))
-  goto quit;
-
/* endian-safe loading of 16-bit sizes */
im->w = (header->widthHi << 8) | header->widthLo;
im->h = (header->heightHi << 8) | header->heightLo;
@@ -275,7 +280,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
if (!IMAGE_DIMENSIONS_OK(im->w, im->h))
   goto quit;
 
-   if (bpp == 32)
+   if (hasa)
   SET_FLAG(im->flags, F_HAS_ALPHA);
else
   UNSET_FLAG(im->flags, F_HAS_ALPHA);
@@ -292,9 +297,6 @@ load(ImlibImage * im, ImlibProgressFunction progress,
if (!__imlib_AllocateData(im, im->w, im->h))
   goto quit;
 
-   /* first we read the file data into a buffer for parsing */
-   /* then we decode from RAM */
-
/* find out how much data must be read from the file */
/* (this is NOT simply width*height*4, due to compression) */
 
@@ -328,11 +330,11 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 
if (!rle)
  {
+int x, y;
+
 /* decode uncompressed BGRA data */
 for (y = 0; y < im->h; y++) /* for each row */
   {
- int x;
-
  /* point dataptr at the beginning of the row */
  if (vinverted)
 /* some TGA's are stored upside-down! */

-- 




[EGIT] [legacy/imlib2] master 04/04: TGA loader: Add simple 16 bpp handling

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=a2cb8276e5bff36f5564290a4162f4ab29d3e23b

commit a2cb8276e5bff36f5564290a4162f4ab29d3e23b
Author: Kim Woelders 
Date:   Fri Nov 15 20:09:44 2019 +0100

TGA loader: Add simple 16 bpp handling

Probably not entirely correct (N alpha bits?).
---
 src/modules/loaders/loader_tga.c | 71 +++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c
index 053c695..51cb6b8 100644
--- a/src/modules/loaders/loader_tga.c
+++ b/src/modules/loaders/loader_tga.c
@@ -188,12 +188,13 @@ load(ImlibImage * im, ImlibProgressFunction progress,
tga_header *header;
tga_footer *footer;
int footer_present;
-   int rle, bpp, hasa, fliph, flipv;
+   int rle, bpp, hasa, hasc, fliph, flipv;
unsigned long   datasize;
unsigned char  *bufptr, *bufend, *palette = 0;
DATA32 *dataptr;
int palcnt = 0, palbpp = 0;
unsigned char   a, r, g, b;
+   unsigned intpix16;
 
fd = open(im->real_file, O_RDONLY);
if (fd < 0)
@@ -240,6 +241,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
flipv = !(header->descriptor & TGA_DESC_VERTICAL);
 
rle = 0; /* RLE compressed */
+   hasc = 0;/* Has color */
 
switch (header->imageType)
  {
@@ -247,12 +249,20 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 goto quit;
 
  case TGA_TYPE_MAPPED:
+break;
  case TGA_TYPE_COLOR:
+hasc = 1;
+break;
  case TGA_TYPE_GRAY:
 break;
 
  case TGA_TYPE_MAPPED_RLE:
+rle = 1;
+break;
  case TGA_TYPE_COLOR_RLE:
+hasc = 1;
+rle = 1;
+break;
  case TGA_TYPE_GRAY_RLE:
 rle = 1;
 break;
@@ -271,6 +281,10 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 break;
  case 24:
 break;
+ case 16:
+if (header->descriptor & TGA_DESC_ABITS)
+   hasa = 1;
+break;
  case 8:
 break;
  }
@@ -367,6 +381,24 @@ load(ImlibImage * im, ImlibProgressFunction progress,
*dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 
+case 16:
+   b = *bufptr++;
+   a = *bufptr++;
+   if (hasc)
+ {
+pix16 = b | ((unsigned short)a << 8);
+r = (pix16 >> 7) & 0xf8;
+g = (pix16 >> 2) & 0xf8;
+b = (pix16 << 3) & 0xf8;
+a = (hasa && !(pix16 & 0x8000)) ? 0x00 : 0xff;
+ }
+   else
+ {
+r = g = b;
+ }
+   *dataptr++ = PIXEL_ARGB(a, r, g, b);
+   break;
+
 case 8:/* 8-bit grayscale or palette */
b = *bufptr++;
a = 0xff;
@@ -431,6 +463,25 @@ load(ImlibImage * im, ImlibProgressFunction progress,
   *dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 
+case 16:
+   b = *bufptr++;
+   a = *bufptr++;
+   if (hasc)
+ {
+pix16 = b | ((unsigned short)a << 8);
+r = (pix16 >> 7) & 0xf8;
+g = (pix16 >> 2) & 0xf8;
+b = (pix16 << 3) & 0xf8;
+a = (hasa && !(pix16 & 0x8000)) ? 0x00 : 0xff;
+ }
+   else
+ {
+r = g = b;
+ }
+   for (i = 0; (i < count) && (dataptr < final_pixel); i++)
+  *dataptr++ = PIXEL_ARGB(a, r, g, b);
+   break;
+
 case 8:
b = *bufptr++;
a = 0xff;
@@ -476,6 +527,24 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 *dataptr++ = PIXEL_ARGB(a, r, g, b);
 break;
 
+ case 16:
+b = *bufptr++;
+a = *bufptr++;
+if (hasc)
+  {
+ pix16 = b | ((unsigned short)a << 8);
+ r = (pix16 >> 7) & 0xf8;
+ g = (pix16 >> 2) & 0xf8;
+ b = (pix16 << 3) & 0xf8;
+  

[EGIT] [legacy/imlib2] master 02/02: imlib2_view: Add verbose option, quit on Escape too

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=83243f08fadcb31e1f5d64abf42d89ca3f84da24

commit 83243f08fadcb31e1f5d64abf42d89ca3f84da24
Author: Kim Woelders 
Date:   Sat Nov 16 08:26:34 2019 +0100

imlib2_view: Add verbose option, quit on Escape too
---
 src/bin/imlib2_view.c | 51 +++
 1 file changed, 31 insertions(+), 20 deletions(-)

diff --git a/src/bin/imlib2_view.c b/src/bin/imlib2_view.c
index 0f63ce2..d98da4a 100644
--- a/src/bin/imlib2_view.c
+++ b/src/bin/imlib2_view.c
@@ -118,11 +118,18 @@ main(int argc, char **argv)
char   *s;
Imlib_Image*im = NULL;
char   *file = NULL;
-   int no = 1, inc;
+   int no, inc;
+   int verbose;
 
-   for (no = 1; no < argc; no++)
+   verbose = 0;
+
+   for (;;)
  {
-s = argv[no];
+argv++;
+argc--;
+if (argc <= 0)
+   break;
+s = argv[0];
 if (*s++ != '-')
break;
 switch (*s)
@@ -130,13 +137,18 @@ main(int argc, char **argv)
   default:
  break;
   case 's':/* Scale (window size wrt. image size) */
- if (++no < argc)
-scale_x = scale_y = atof(argv[no]);
+ if (argc-- < 2)
+break;
+ argv++;
+ scale_x = scale_y = atof(argv[0]);
+ break;
+  case 'v':
+ verbose += 1;
  break;
   }
  }
 
-   if (no >= argc)
+   if (argc <= 0)
  {
 fprintf(stderr, "imlib2_view [-s ] file...\n");
 return 1;
@@ -167,26 +179,24 @@ main(int argc, char **argv)
imlib_context_set_progress_granularity(10);
imlib_context_set_drawable(win);
 
-   file = argv[no];
-   im = imlib_load_image(file);
-   while (!im)
+   no = -1;
+   for (im = NULL; !im;)
  {
 no++;
 if (no == argc)
   {
- fprintf(stderr, "Image format not available\n");
+ fprintf(stderr, "No loadable image\n");
  exit(0);
   }
 file = argv[no];
+if (verbose)
+   printf("Show  %d: '%s'\n", no, file);
 image_width = 0;
 im = imlib_load_image(file);
-imlib_context_set_image(im);
- }
-   if (!im)
- {
-fprintf(stderr, "Image format not available\n");
-exit(0);
  }
+
+   imlib_context_set_image(im);
+
for (;;)
  {
 int x, y, b, count, fdsize, xfd, timeout = 0;
@@ -212,7 +222,7 @@ main(int argc, char **argv)
  break;
   case KeyPress:
  key = XLookupKeysym(, 0);
- if (key == XK_q)
+ if (key == XK_q || key == XK_Escape)
 return 0;
  if (key == XK_Right)
 goto show_next;
@@ -312,15 +322,16 @@ main(int argc, char **argv)
  zoom_mode = 0;
  imlib_context_set_image(im);
  imlib_free_image_and_decache();
- im = NULL;
- for (; !im;)
+ for (im = NULL; !im;)
{
   no += inc;
   if (no >= argc)
  no = argc - 1;
   else if (no <= 0)
- no = 1;
+ no = 0;
   file = argv[no];
+  if (verbose)
+ printf("Show  %d: '%s'\n", no, file);
   image_width = 0;
   im = imlib_load_image(file);
}

-- 




[EGIT] [legacy/imlib2] master 01/02: imlib2_test_load: Check progress conditionally

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=d6c13ec444eff6568701abe304fd058c3d8f5dda

commit d6c13ec444eff6568701abe304fd058c3d8f5dda
Author: Kim Woelders 
Date:   Sat Nov 16 06:08:15 2019 +0100

imlib2_test_load: Check progress conditionally
---
 src/bin/imlib2_test_load.c | 25 -
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/bin/imlib2_test_load.c b/src/bin/imlib2_test_load.c
index 2489bbd..c5cfeea 100644
--- a/src/bin/imlib2_test_load.c
+++ b/src/bin/imlib2_test_load.c
@@ -10,7 +10,6 @@
 #define PROG_NAME "imlib2_test_load"
 
 static char progress_called;
-static char break_on_error;
 
 static void
 usage(int exit_status)
@@ -36,7 +35,10 @@ main(int argc, char **argv)
const char *s;
Imlib_Image im;
Imlib_Load_Errorlerr;
+   int check_progress;
+   int break_on_error;
 
+   check_progress = 0;
break_on_error = 0;
 
for (;;)
@@ -53,21 +55,32 @@ main(int argc, char **argv)
   case 'e':
  break_on_error += 1;
  break;
+  case 'p':
+ check_progress = 1;
+ break;
   }
  }
 
if (argc <= 0)
   usage(0);
 
-   imlib_context_set_progress_function(progress);
-   imlib_context_set_progress_granularity(10);
+   if (check_progress)
+ {
+imlib_context_set_progress_function(progress);
+imlib_context_set_progress_granularity(10);
+ }
 
for (; argc > 0; argc--, argv++)
  {
 progress_called = 0;
 
 printf("Loading image: '%s'\n", argv[0]);
-im = imlib_load_image_with_error_return(argv[0], );
+
+lerr = 0;
+if (check_progress)
+   im = imlib_load_image_with_error_return(argv[0], );
+else
+   im = imlib_load_image(argv[0]);
 if (!im)
   {
  printf("*** Error %d loading image: %s\n", lerr, argv[0]);
@@ -75,9 +88,11 @@ main(int argc, char **argv)
 break;
  continue;
   }
+
 imlib_context_set_image(im);
 imlib_free_image_and_decache();
-if (!progress_called)
+
+if (check_progress && !progress_called)
   {
  printf("*** No progress during image load\n");
  if (break_on_error & 1)

-- 




[EGIT] [legacy/imlib2] master 01/04: TGA loader - Mostly cosmetic refactoring

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=f01353d1554bda8f331266df3baab3c361cea95f

commit f01353d1554bda8f331266df3baab3c361cea95f
Author: Kim Woelders 
Date:   Fri Nov 15 17:31:48 2019 +0100

TGA loader - Mostly cosmetic refactoring
---
 src/modules/loaders/loader_tga.c | 135 +++
 1 file changed, 67 insertions(+), 68 deletions(-)

diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c
index 0713911..ce724dd 100644
--- a/src/modules/loaders/loader_tga.c
+++ b/src/modules/loaders/loader_tga.c
@@ -196,6 +196,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
DATA32 *dataptr;
 
int y, palcnt = 0, palbpp = 0;
+   unsigned char   a, r, g, b;
 
fd = open(im->real_file, O_RDONLY);
if (fd < 0)
@@ -347,36 +348,37 @@ load(ImlibImage * im, ImlibProgressFunction progress,
   switch (bpp)
 {
 case 32:   /* 32-bit BGRA pixels */
-   *dataptr++ =
-  PIXEL_ARGB(bufptr[3], bufptr[2], bufptr[1],
- bufptr[0]);
-   bufptr += 4;
+   b = *bufptr++;
+   g = *bufptr++;
+   r = *bufptr++;
+   a = *bufptr++;
+   *dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 
 case 24:   /* 24-bit BGR pixels */
-   *dataptr++ =
-  PIXEL_ARGB(0xff, bufptr[2], bufptr[1], bufptr[0]);
-   bufptr += 3;
+   b = *bufptr++;
+   g = *bufptr++;
+   r = *bufptr++;
+   a = 0xff;
+   *dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 
 case 8:/* 8-bit grayscale or palette */
-   if (!palette)
+   b = *bufptr++;
+   a = 0xff;
+   if (palette)
  {
-*dataptr++ =
-   PIXEL_ARGB(0xff, bufptr[0], bufptr[0],
-  bufptr[0]);
+if (b >= palcnt)
+   goto quit;
+r = palette[b * palbpp + 2];
+g = palette[b * palbpp + 1];
+b = palette[b * palbpp + 0];
  }
else
  {
-if (*bufptr >= palcnt)
-   goto quit;
-*dataptr++ =
-   PIXEL_ARGB(0xff,
-  palette[*bufptr * palbpp + 2],
-  palette[*bufptr * palbpp + 1],
-  palette[*bufptr * palbpp + 0]);
+r = g = b;
  }
-   bufptr += 1;
+   *dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 }
 
@@ -386,13 +388,13 @@ load(ImlibImage * im, ImlibProgressFunction progress,
else
  {
 /* decode RLE compressed data */
-unsigned char   curbyte, red, green, blue, alpha;
 DATA32 *final_pixel = dataptr + im->w * im->h;
 
 /* loop until we've got all the pixels or run out of input */
 while ((dataptr < final_pixel))
   {
  int i, count;
+ unsigned char   curbyte;
 
  if ((bufptr + 1 + (bpp / 8)) > bufend)
 goto quit;
@@ -405,43 +407,40 @@ load(ImlibImage * im, ImlibProgressFunction progress,
   switch (bpp)
 {
 case 32:
-   blue = *bufptr++;
-   green = *bufptr++;
-   red = *bufptr++;
-   alpha = *bufptr++;
+   b = *bufptr++;
+   g = *bufptr++;
+   r = *bufptr++;
+   a = *bufptr++;
for (i = 0; (i < count) && (dataptr < final_pixel); i++)
-  *dataptr++ = PIXEL_ARGB(alpha, red, green, blue);
+  *dataptr++ = PIXEL_ARGB(a, r, g, b);
break;
 
 case 24:
-   blue = *bufptr++;
-   green = *bufptr++;
-   red = *bufptr++;
-   alpha = 0xff;
+   b = *bufptr++;
+   g = *bufptr++;
+   r = *bufptr++;
+   a = 0xff;
   

[EGIT] [legacy/imlib2] master 03/04: TGA loader: Support horiontal flip

2019-11-16 Thread Kim Woelders
kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=0d0a701a96bf87a5df95fd8bb599b414b6a6a220

commit 0d0a701a96bf87a5df95fd8bb599b414b6a6a220
Author: Kim Woelders 
Date:   Sat Nov 16 08:29:12 2019 +0100

TGA loader: Support horiontal flip
---
 src/modules/loaders/loader_tga.c | 53 +---
 1 file changed, 28 insertions(+), 25 deletions(-)

diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c
index 7516e5b..053c695 100644
--- a/src/modules/loaders/loader_tga.c
+++ b/src/modules/loaders/loader_tga.c
@@ -17,7 +17,7 @@
 #include "blend.h"
 
 /* flip an inverted image - see RLE reading below */
-static void tgaflip(DATA32 * in, int w, int h);
+static void tgaflip(DATA32 * in, int w, int h, int fliph, int flipv);
 
 /* TGA pixel formats */
 #define TGA_TYPE_MAPPED  1
@@ -188,7 +188,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
tga_header *header;
tga_footer *footer;
int footer_present;
-   int rle, bpp, hasa, vinverted;
+   int rle, bpp, hasa, fliph, flipv;
unsigned long   datasize;
unsigned char  *bufptr, *bufend, *palette = 0;
DATA32 *dataptr;
@@ -234,8 +234,10 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 
/* now parse the header */
 
-   /* this flag indicated bottom-up pixel storage */
-   vinverted = !(header->descriptor & TGA_DESC_VERTICAL);
+   /* this flag indicates right-to-left pixel storage */
+   fliph = !!(header->descriptor & TGA_DESC_HORIZONTAL);
+   /* this flag indicates bottom-up pixel storage */
+   flipv = !(header->descriptor & TGA_DESC_VERTICAL);
 
rle = 0; /* RLE compressed */
 
@@ -336,7 +338,7 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 for (y = 0; y < im->h; y++) /* for each row */
   {
  /* point dataptr at the beginning of the row */
- if (vinverted)
+ if (flipv)
 /* some TGA's are stored upside-down! */
 dataptr = im->data + ((im->h - y - 1) * im->w);
  else
@@ -386,6 +388,9 @@ load(ImlibImage * im, ImlibProgressFunction progress,
 
}/* end for (each pixel) */
   }
+
+if (fliph)
+   tgaflip(im->data, im->w, im->h, fliph, 0);
  }
else
  {
@@ -493,9 +498,8 @@ load(ImlibImage * im, ImlibProgressFunction progress,
}/* end if (raw packet) */
   } /* end for (each packet) */
 
-/* must now flip a bottom-up image */
-if (vinverted)
-   tgaflip(im->data, im->w, im->h);
+if (fliph || flipv)
+   tgaflip(im->data, im->w, im->h, fliph, flipv);
  }
 
if (progress)
@@ -529,28 +533,27 @@ formats(ImlibLoader * l)
 
 /**/
 
-/* flip a DATA32 image block vertically in place */
-
-static void
-tgaflip(DATA32 * in, int w, int h)
+/* flip a DATA32 image block in place */
+void
+tgaflip(DATA32 * in, int w, int h, int fliph, int flipv)
 {
-   DATA32 *adv, *adv2;
-   int x, y;
+   DATA32  tmp;
+   int x, y, x2, y2, dx, dy, nx, ny;
 
-   adv = in;
-   adv2 = in + (w * (h - 1));
+   dx = fliph ? -1 : 1;
+   dy = flipv ? -1 : 1;
+   nx = fliph ? w / 2 : w;
+   ny = flipv && !fliph ? h / 2 : h;
 
-   for (y = 0; y < (h / 2); y++)
+   y2 = flipv ? h - 1 : 0;
+   for (y = 0; y < ny; y++, y2 += dy)
  {
-DATA32  tmp;
-
-for (x = 0; x < w; x++)
+x2 = fliph ? w - 1 : 0;
+for (x = 0; x < nx; x++, x2 += dx)
   {
- tmp = adv[x];
- adv[x] = adv2[x];
- adv2[x] = tmp;
+ tmp = in[y * h + x];
+ in[y * h + x] = in[y2 * h + x2];
+ in[y2 * h + x2] = tmp;
   }
-adv2 -= w;
-adv += w;
  }
 }

-- 




[E-devel] (no subject)

2019-11-16 Thread Boris Faure

"Adopt the pace of nature:
 her secret is patience."
   Ralph Waldo Emerson


Hello fellow Terminology enthusiasts!

With 95 new commits, Terminology 1.6.0 is ready.  It packs UI
 improvements around tabs and splits, a welcome wizard to adjust the
 scaling factor, translation updates and its load of fixes.  During
 development of this release, Terminology's Twitter account
 @_Terminology_ was created.

== Additions ==
* Show title tab on splits, depending on configuration
* Show tabs that had a bell rang and had not been focused
* Add wizard on new configuration to set scaling
* Add scale configuration in the Settings panel
* Add Polish translation

== Improvements ==
* Themes: make tab title readable based on theme default colors
* Move the tab selector on the tab line
* Be able to select and copy tabs
* Better handle stalled unix socket when using one terminology with
  multiple instances
* Change `typop` behavior to queue files in case there are multiple
  files to look at
* Update Italian translation

== Fixes ==
* Fix live selections in the scrollback
* Fix unticking `auto-hide cursor` not working
* Fix memory leaks related to looking for links under the mouse
* Ensure Terminology compiles with `EFL-1.20`
* Fix link detection over spaces
* Fix tab selector no longer taking into account the new destination
* Fix crash when using `typop` with multiple files
* No longer set environment variable `DESKTOP_STARTUP_ID` as it may
  no longer be accurate
* Allow tabs to be pasted


The tarball can be found at :
  - 
https://download.enlightenment.org/rel/apps/terminology/terminology-1.6.0.tar.xz
  - https://downloads.terminolo.gy/terminology-1.6.0.tar.xz
sha256sum:
  b95cb05653afe0dad77fc038a8d5276c02a9c08d64ac97ddf0cee8087d27bd77

Happy compiling! ( https://xkcd.com/303/ )

-- 
Boris Faure
Pointer Arithmetician


signature.asc
Description: PGP signature
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Terminology 1.6.0

2019-11-16 Thread Boris Faure

"Adopt the pace of nature:
 her secret is patience."
   Ralph Waldo Emerson


Hello fellow Terminology enthusiasts!

With 95 new commits, Terminology 1.6.0 is ready.  It packs UI
 improvements around tabs and splits, a welcome wizard to adjust the
 scaling factor, translation updates and its load of fixes.  During
 development of this release, Terminology's Twitter account
 @_Terminology_ was created.

== Additions ==
* Show title tab on splits, depending on configuration
* Show tabs that had a bell rang and had not been focused
* Add wizard on new configuration to set scaling
* Add scale configuration in the Settings panel
* Add Polish translation

== Improvements ==
* Themes: make tab title readable based on theme default colors
* Move the tab selector on the tab line
* Be able to select and copy tabs
* Better handle stalled unix socket when using one terminology with
  multiple instances
* Change `typop` behavior to queue files in case there are multiple
  files to look at
* Update Italian translation

== Fixes ==
* Fix live selections in the scrollback
* Fix unticking `auto-hide cursor` not working
* Fix memory leaks related to looking for links under the mouse
* Ensure Terminology compiles with `EFL-1.20`
* Fix link detection over spaces
* Fix tab selector no longer taking into account the new destination
* Fix crash when using `typop` with multiple files
* No longer set environment variable `DESKTOP_STARTUP_ID` as it may
  no longer be accurate
* Allow tabs to be pasted

The tarball can be found at :
  - 
https://download.enlightenment.org/rel/apps/terminology/terminology-1.6.0.tar.xz
  - https://downloads.terminolo.gy/terminology-1.6.0.tar.xz
sha256sum:
  b95cb05653afe0dad77fc038a8d5276c02a9c08d64ac97ddf0cee8087d27bd77

Happy compiling! ( https://xkcd.com/303/ )
-- 
Boris Faure
Pointer Arithmetician


signature.asc
Description: PGP signature
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [apps/terminology] master 01/01: back on the road again

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=c0d84ff738687d31044944f6286a2890127d3bdf

commit c0d84ff738687d31044944f6286a2890127d3bdf
Author: Boris Faure 
Date:   Sat Nov 16 12:11:22 2019 +0100

back on the road again
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index dbac9a7..81e80fd 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
 project('terminology', 'c',
-version: '1.6.0',
+version: '1.6.99',
 default_options: ['buildtype=plain', 'c_std=gnu99'],
 license: 'BSD')
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page 2019-11-16-terminology-1.6.0 changed with summary [] by Boris Faure

2019-11-16 Thread Boris Faure
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=18239af64d9a970032a8e7f163a88498a981d8e2

commit 18239af64d9a970032a8e7f163a88498a981d8e2
Author: Boris Faure 
Date:   Sat Nov 16 02:49:27 2019 -0800

Wiki page 2019-11-16-terminology-1.6.0 changed with summary [] by Boris 
Faure
---
 pages/news/2019-11-16-terminology-1.6.0.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pages/news/2019-11-16-terminology-1.6.0.txt 
b/pages/news/2019-11-16-terminology-1.6.0.txt
index 78654f0da..31442d92d 100644
--- a/pages/news/2019-11-16-terminology-1.6.0.txt
+++ b/pages/news/2019-11-16-terminology-1.6.0.txt
@@ -1,5 +1,5 @@
-=== Terminology 1.5.0 Release ===
-  * //2019-07-20 - by Boris Faure//
+=== Terminology 1.6.0 Release ===
+  * //2019-11-16 - by Boris Faure//
 
 > “Adopt the pace of nature: her secret is patience.” ― Ralph Waldo Emerson 
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page 2019-11-16-terminology-1.6.0 changed with summary [created] by Boris Faure

2019-11-16 Thread Boris Faure
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit fb166f79610b9e164a8e11bb8ec88658e3f5e98e
Author: Boris Faure 
Date:   Sat Nov 16 02:43:42 2019 -0800

Wiki page 2019-11-16-terminology-1.6.0 changed with summary [created] by 
Boris Faure
---
 pages/news/2019-11-16-terminology-1.6.0.txt | 43 +
 1 file changed, 43 insertions(+)

diff --git a/pages/news/2019-11-16-terminology-1.6.0.txt 
b/pages/news/2019-11-16-terminology-1.6.0.txt
new file mode 100644
index 0..78654f0da
--- /dev/null
+++ b/pages/news/2019-11-16-terminology-1.6.0.txt
@@ -0,0 +1,43 @@
+=== Terminology 1.5.0 Release ===
+  * //2019-07-20 - by Boris Faure//
+
+> “Adopt the pace of nature: her secret is patience.” ― Ralph Waldo Emerson 
+
+With 95 new commits, Terminology 1.6.0 is ready. It packs UI improvements 
around tabs and splits, a welcome wizard to adjust the scaling factor, 
translation updates and its load of fixes. During development of this release, 
Terminology's Twitter account 
[[https://twitter.com/_Terminology_|@_Terminology_]] was created.
+
+== Additions ==
+* Show title tab on splits, depending on configuration
+* Show tabs that had a bell rang and had not been focused
+* Add wizard on new configuration to set scaling
+* Add scale configuration in the Settings panel
+* Add Polish translation
+
+== Improvements ==
+* Themes: make tab title readable based on theme default colors
+* Move the tab selector on the tab line
+* Be able to select and copy tabs
+* Better handle stalled unix socket when using one terminology with 
multiple instances
+* Change `typop` behavior to queue files in case there are multiple files 
to look at
+* Update Italian translation
+
+== Fixes ==
+* Fix live selections in the scrollback
+* Fix unchecking `auto-hide cursor` not working
+* Fix memory leaks related to looking for links under the mouse
+* Ensure Terminology compiles with `EFL-1.20`
+* Fix link detection over spaces
+* Fix tab selector no longer taking into account the new destination
+* Fix crash when using `typop` with multiple files
+* No longer set environment variable `DESKTOP_STARTUP_ID` as it may no 
longer be accurate
+* Allow tabs to be pasted
+
+
+== Download ==
+
+^ ** LINK ** ^ ** SHA256 ** ^
+| [[ 
https://download.enlightenment.org/rel/apps/terminology/terminology-1.6.0.tar.xz
 | Terminology 1.6.0 XZ]]  | 
''b95cb05653afe0dad77fc038a8d5276c02a9c08d64ac97ddf0cee8087d27bd77'' |
+
+== In action ==
+{{ :news:terminology-1.6.0.png?nolink |}}
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~
\ No newline at end of file

-- 




[EGIT] [website/www-content] master 01/01: Wiki media news:terminology-1.6.0.png uploaded by Boris Faure

2019-11-16 Thread Boris Faure
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=169be3825c762ef7ccc29cd4520f3558726fd309

commit 169be3825c762ef7ccc29cd4520f3558726fd309
Author: Boris Faure 
Date:   Sat Nov 16 02:40:11 2019 -0800

Wiki media news:terminology-1.6.0.png uploaded by Boris Faure
---
 media/news/terminology-1.6.0.png | Bin 0 -> 71539 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/media/news/terminology-1.6.0.png b/media/news/terminology-1.6.0.png
new file mode 100644
index 0..ef7ad327e
Binary files /dev/null and b/media/news/terminology-1.6.0.png differ

-- 




[EGIT] [apps/terminology] annotated tag v1.6.0 created (now 21c44a1)

2019-11-16 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

billiob pushed a change to annotated tag v1.6.0
in repository apps/terminology.

at  21c44a1   (tag)
   tagging  6019e0ee07563ea5098ec3098b239f16782d6012 (commit)
  replaces  v1.5.0
 tagged by  Boris Faure
on  Sat Nov 16 10:59:45 2019 +0100

- Log -
Terminology v1.6.0
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEuw862nDQJURvoj1o6qnNcp9SKZgFAl3PyJEACgkQ6qnNcp9S
KZgWfg//fVMeWP5FXw8Tz2KEuZYRT/kiPyq3MtgAQ1O7Idt/KukwjOcWOfCvjyYF
BPk6pV6Uy7ZfJyOi8pj8SPxN1pnoGjf2Cxq1/lUlNqFTvkEL3glMdbMMgoUIm5PQ
kCZ3LhV8MWcrptnuILr/wUtA2Kw5Uf8MKPJCOBSSw2NcRFuj0JGrurXGsmwJCDAP
hac2B0h0OOqjBi+5t2fksspPu9Neio3tlkEgPizZFwJ1ERoSAkEYwW3xlhejzVBl
rZaEJ6xBqxezGUlNBWOEs/jDEW3TXr4xH9fGRp58J5d73/vmZqt7WMclnJ5bVXI4
qfjRnsmkQYKak1cNJLCBRBSW1S4q9x1/nK1UHH5O22zfq5njhHp+LMNazQPFpzKj
J6lccNdDqcrQOyo8kz0Cf4slkw69x9bVWo5vJ7dAzcOq+b8MJFXYG/VLbtu9Rj7c
xfJsR1oDiHEchXbefQ1lBPmhPngqxYmzfcFSOYt6ZK8s6ss9gg2nBYrl4tdvKTHd
mOV0mFDy93plcm5Y5gNcKI0cUHf5lKB2Pkc0A7xWDuXj1qTp+ZPyaZgCYjV3i9Ek
O3nEDhvaSg2biymyryO06nMncxZdz80w/5TZZ4ZkL1seqYpxNntVNSSq+PGOTAvK
LzeaAnimqUY4sPUPkCytMcNRENyfuiCntmQSU8ajt6KuoArAq2g=
=1dJ5
-END PGP SIGNATURE-

Boris Faure (90):
  options_behavior: avoid eo message
  meson.build: start new dev cycle
  options_behavior: avoid eo message
  options_keys: force delete of genlist to avoid races
  Merge branch 'terminology-1.5'
  po: add Polish translation support. Thanks to Fervi! Closes T8196
  Merge branch 'terminology-1.5'
  add test about bug fixed in e33d07f49244bb75a8690cc4eb761acbe6e16d4b
  tests: remove duplicates
  Merge branch 'terminology-1.5'
  hide cursor: fix unchecking "auto hide cursor". Closes T8148
  Merge branch 'terminology-1.5'
  termio: evas_object_focus_get() agains obj is not valid
  Merge branch 'terminology-1.5'
  fix leaks when looking for links
  Merge branch 'terminology-1.5'
  add wizard to set scaling when config does not exist
  config: simplify API
  options_elm: add scale slider
  po: update terminology.pot
  utils: avoid using functions too new (only in EFL >=1.21)
  termpty: reduce log severity
  termptyext: remove 'a' example
  move link_is_* to termiolink.c
  termptyext: get rid of "unused" warnings
  termptyext: add tests on link detection
  tests: fix wrong escape code in selection_box_to_word.sh
  termiolink: fix link detection over spaces
  tests: fix printf usage on alpine
  termptyesc: use correct format specifier for int
  termptyesc: restrict DSR-DECCKSR argument to 16bit (unsigned)
  sel: selector was not taking into account the new destination
  Merge branch 'terminology-1.5'
  themes: make tab title readable based on theme default colors
  themes: fix warning
  win: show title tab on splits when config is set accordingly
  config: turn "notabs" into "show_tabs"
  win: update terms on change of config about show_tabs
  solarized_light: avoid redefining BG_COLOR
  options_behavior: disable "hide cursor"'s slider when needed
  Merge branch 'terminology-1.5'
  circleci: test with efl-1.22.5
  circleci: test with efl-1.22.6
  tabs: show tabs that have a bell
  splits: show missed bells when a title tab is shown
  ChangeLog.theme: add entry about previous commit
  win: reorganize code to have popup media fold
  win: no longer segfaults from typop with multiple files
  typop: with many args, pop first then queue the others
  win: clean up popmedia code. Closes T8330
  main: better handle stalled unix socket used to spawn multiple instances
  Revert "main: better handle stalled unix socket used to spawn multiple 
instances"
  win: remove hide_cursor_timer when closing a window
  Merge branch 'terminology-1.5'
  circleci: use new packages path
  circleci: elf-1.2{0,1} packages have moved
  options_font: fix use after free
  Merge branch 'terminology-1.5'
  Revert "Revert "main: better handle stalled unix socket used to spawn 
multiple instances""
  main: fix execv() usage
  win: cleanup windows_free()
  main: putenv() can't use stack mem as it might become part of env
  main: unsetenv("DESKTOP_STARTUP_ID") when it won't ever be used again
  circleci: test with efl-1.23.1 and rework file
  ipc: set theme on new instance
  main: only one place to configure a running instance
  media: remove useless condition
  win: clean up tabs list asap
  Merge branch 'multi'
  wip
  Revert "wip"
  main: change prototype for main_new()
  default.edc: move tab selector on the tab line
  default.edc: it's way better with some background!
  mild: also add tab selector on tab line
  github: add sponsorship
  README: add link to Twitter account
  termio: allow \t to 

[EGIT] [apps/terminology] master 01/01: 1.6.0 release is now \o/

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=6019e0ee07563ea5098ec3098b239f16782d6012

commit 6019e0ee07563ea5098ec3098b239f16782d6012
Author: Boris Faure 
Date:   Sat Nov 16 10:59:17 2019 +0100

1.6.0 release is now \o/
---
 ChangeLog | 2 +-
 man/terminology-helpers.1 | 2 +-
 man/terminology.1 | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8054a85..c0e2a0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-2019-11-14
+2019-11-16
 * Release v1.5.0
 * Show title tab on splits, depending on configuration
 * Show tabs that had a bell rang and had not been focused
diff --git a/man/terminology-helpers.1 b/man/terminology-helpers.1
index 6d883b0..cbb1eba 100644
--- a/man/terminology-helpers.1
+++ b/man/terminology-helpers.1
@@ -1,5 +1,5 @@
 .\" Manpage for terminology helpers
-.TH TERMINOLOGY-HELPERS 1 "Nov 14, 2019"
+.TH TERMINOLOGY-HELPERS 1 "Nov 16, 2019"
 .SH NAME
 terminiology-helpers \- programs that enhance
 .B terminology(1)
diff --git a/man/terminology.1 b/man/terminology.1
index f83d0d5..3d840f9 100644
--- a/man/terminology.1
+++ b/man/terminology.1
@@ -1,5 +1,5 @@
 .\" Manpage for Terminology
-.TH TERMINOLOGY 1 "Nov 14, 2019" "1.6.0" "Terminology man page"
+.TH TERMINOLOGY 1 "Nov 16, 2019" "1.6.0" "Terminology man page"
 .SH NAME
 Terminology \- Terminal Emulator written with EFL (Enlightenment Foundation 
Libraries).
 .SH SYNOPSIS

-- 




[EGIT] [website/www-content] master 01/01: Terminology 1.6.0

2019-11-16 Thread Boris Faure
billiob pushed a commit to branch master.

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

commit c0e6af40262dd0361029fbf28788e3ca7a4b2d27
Author: Boris Faure 
Date:   Sat Nov 16 11:00:56 2019 +0100

Terminology 1.6.0
---
 pages/download-latest.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index cdde10b99..104e65ae7 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -3,7 +3,7 @@ efl_v = 1.23.2
 python_efl_v  = 1.23.0
 
 enlightenment_v   = 0.23.1
-terminology_v = 1.5.0
+terminology_v = 1.6.0
 rage_v= 0.3.1
 econnman_v= 1.1
 ephoto_v  = 1.5

--