Various issues for emelfm2 0.1.7

Hi,

although the 0.1.7 release seems to have many nice changes, it contains
some newly introduced bugs and some which seem to exist for quite some
time.

In order not to spam the list with various bug reports I file them all
here (well, the most obvious bugs, I encoutered so far):

* ToolBar->Disk Usage button broken:
  Clicking the disk usage button causes the gtk rendering backend to
  crash with a SIGABRT:
    [DEBUG ] _e2_action_run_from (rt:file.du,from:)
    (emelfm2:11891): Gtk-CRITICAL **: gtk_text_layout_real_invalidate:
    assertion `layout->wrap_loop_count == 0' failed
    [DEBUG ] inserted additional newline because the message requested it
    Assertion failed: (unscaled->lock > 0), function
    _cairo_ft_unscaled_font_unlock_face, file cairo-ft-font.c, line 572.
    Assertion failed: (unscaled->lock > 0), function
    _cairo_ft_unscaled_font_unlock_face, file cairo-ft-font.c, line 572.

  This may be a cairo related issue as it is not completely stable for
  now, but as earlier releases work fine so far, I do not think it is
  caused by cairo.

* Localization issue german:
  Ronny, the disk usage button has the wrong action: It states
  "Datei.du" although this should be "Datei.Speicherplatz". The de.po
  file looks okay, so maybe this is a emelfm2 related issue. Could you
  verify that on your de_* environment?

* Localization issues in multilanguage environments:
  Given the case a user wants to use emelfm2 in various languages, he
  will have many troubles with emelfm2's toolbars:
       http://sysfault.org/emelfm017_i18n.png
  
  How to repeat this error:
  * Start emelfm2 in you default locale.
  * Quit it and set your locale to a different one (I simply exported
    LANG as C, but it also works fine with setting de_DE.UTF-8 to
    ja_JP.UTF-8 and other combinations).
  * Start emelfm2 again and look at its reordered layout :-).

* child PID table does not update correctly upon the various kill*
  commands (exists in earlier versions, too):

  Although using kill (and especially killall) causes the "List child
  processes" button to show the correct results, an internal PID table
  does not seem to be updated correctly and states on closing emelfm2,
  that there are still some open processes left.
  How to repeat:
  Simply use some script, that runs an endless loop and explicitly kill
  it using the rocketlauncher killall or something like that or, if
  you've got ImageMagick installed, execute the 'display' command from
  the commandbar. You also will notice, that it will behave slightly
  different than running it from a normal console.

* stdin/stderr/stdout pipes do not work (exists in earlier versions,
  too):

  Given the case I have an program, that needs either interaction or
  writes code to stdout/stderr, it will not do that correctly in any
  case. This seems to be a non-trivial error. The input issue can be
  recognized, if you have to an executed command want to have user input
  (e.g. unzip with the request to overwrite something).
  The output issue is another case, which I only encountered in cases,
  where a shared object loaded by the program wants to write something
  to stdout.

I did not spend any time on investigating that deeply on those issues,
because I neither know their state nor if the one or other issue is a
simple 'user-caused error' :-).

Environment:
FreeBSD RELENG_5, x86 arch, glib-2.8.6, gtk-2.8.17, cairo-1.0.4,
pango-1.10.4.
Emelfm2 compiled with different PREFIX and with and without DEBUG
flags. No other additional flags or optimizations done.

If you need any other information, let me know.

Regards
Marcus

Other related posts: