いけむランド

はてダからやってきました

road to e17 (8)

以前に動かしていた e17 の snapshot/2008-01-25 から新しく 2008-05-19 がリリースされているため、これに追従してみる。


必要なライブラリから 2008-01-25 で作成したパッチをあてていけば、特に問題なくビルドまではできる。ただし、手元の環境では、そのままだと起動しなかった。

実際に enlightenment_start.exe を起動すると、いろんなデバッグメッセージが出力されるのだが、何故か splash で固まってしまうため、ソースを確認してみた。

   TS("splash"); // デバッグメッセージ
   if (!((!e_config->show_splash) || (after_restart)))
     {
        /* setup init status window/screen */
        if (!e_init_init())
          {
             e_error_message_show(_("Enlightenment cannot set up init screen.\n"                                    "Perhaps you are out of memory?"));
             _e_main_shutdown(-1);
          }
        e_init_title_set(_("Enlightenment"));
        e_init_version_set(VERSION);
        e_init_show();
        _e_main_shutdown_push(e_init_shutdown);
        pause();
     }


どうも pause(2) が悪さをしているのではないかと予想し、ここを通らないようにするために環境変数 E_RESTART をセットしてやると、すんなり起動した。

   if (getenv("E_RESTART")) after_restart = 1;



2008-01-25 でも splash はまともに動作してなかった気がする。もしかして cygwin の IPC 周りかな?とも思っているが深追いはしてない。