[AD] Some new Annie/Unicode stuff

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Title: Some new Annie/Unicode stuff


--
Vincent Penquerc'h

 

Attachment: fbcon_uconvert.diff
Description: Binary data

Hi all,

*** From Allegro todo:

> Wishlist:
> - make allegro not use uconvert static buffer; reserve for user

It's done, it seems to work...

Notes:
  I haven't moified the files in src/dos/
  This patch should be applied after the one with fdopen (or you'll have to
modify pack_fopen by hand)

To apply the patch:
    cd allegro
    patch -p1 < uconvert.diff


*** Another patch, for fbcon: convert the strings when needed...
To apply the patch:
    cd allegro
    patch -p1 < fbcon_uconvert.diff


*** Other problems:
  * Under XWindow, this code hangs:
        #include <allegro.h>
        int main(void)
        {
           allegro_init();
           return 0;
        }
        END_OF_MAIN()
  Seems to hang inside _xwin_destroy_window and seems to be related to pthread
  The ps command shows that there are 2 processes.
  And this does not hang:
        #include <allegro.h>
        int main(void)
        {
           allegro_init();
           install_keyboard();
           return 0;
        }
        END_OF_MAIN()


  * Under the console, this code initialize correctly fbcon:
        #include <allegro.h>
        int main(void)
        {
           allegro_init();
           set_gfx_mode(GFX_SAFE, 0, 0, 0, 0);
           return 0;
        }
        END_OF_MAIN()

  But this one does not:
        #include <allegro.h>
        int main(void)
        {
           set_uformat(U_UNICODE);
           allegro_init();
           set_gfx_mode(GFX_SAFE, 0, 0, 0, 0);
           allegro_message(allegro_error);
           return 0;
        }
        END_OF_MAIN()
  And quits with:
        Fatal error: unable to set GFX_SAFE  <--- printed by set_gfx_mode
        Not a VGA mode-X resolution          <--- allegro_error

  * With this program:
        #include <allegro.h>
        int main(void)
        {
          allegro_init();
          install_keyboard();
          readkey();
          return 0;
        }
        END_OF_MAIN()
  Using Ctrl-Alt-End stops only one of the 3 processes/threads.


  All of them compiled with:
        gcc `allegro-config --cflags` main.c `allegro-config --libs`
  linux kernel 2.2.10
  ldd output:
        liballd-3.9.39.so => /usr/local/lib/liballd-3.9.39.so (0x40019000)
        libc.so.6 => /lib/libc.so.6 (0x400f5000)
        libm.so.6 => /lib/libm.so.6 (0x401ef000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x4020c000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4021f000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4022b000)
        libdl.so.2 => /lib/libdl.so.2 (0x402d1000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)


-- 
annie

Attachment: uconvert.diff
Description: Binary data



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/