X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fm17n-gui.c;h=c0bd14a51ce4478618d127b32ff759b51c47ec43;hb=6dd098a655551afd765159165e4b29ec9f693cb2;hp=d13d248a298eb51b0fc8a3ac74bd20fdd0e7734e;hpb=ee03daaec979129895ad5624ad1e24904888cddb;p=m17n%2Fm17n-lib.git diff --git a/src/m17n-gui.c b/src/m17n-gui.c index d13d248..c0bd14a 100644 --- a/src/m17n-gui.c +++ b/src/m17n-gui.c @@ -17,7 +17,7 @@ You should have received a copy of the GNU Lesser General Public License along with the m17n library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 02111-1307, USA. */ /***en @@ -88,7 +88,7 @@ typedef struct { /** Name of the dynamic library (e.g. "libm17n-X.so"). */ char *library; - /** Handle fo the dynamic library. */ + /** Handle of the dynamic library. */ void *handle; /** Function to call just after loading the library. */ int (*init) (); @@ -321,7 +321,10 @@ m17n_fini_win (void) } #ifdef HAVE_FREETYPE if (null_interface.handle) - (*null_interface.fini) (); + { + (*null_interface.fini) (); + null_interface.handle = NULL; + } #endif /* not HAVE_FREETYPE */ M17N_OBJECT_UNREF (device_library_list); minput__win_fini (); @@ -652,13 +655,12 @@ mframe (MPlist *plist) if (! interface->handle) { if (! (interface->handle = dlopen (interface->library, RTLD_NOW)) - || ! (interface->init - = (int (*) ()) dlsym (interface->handle, "device_init")) - || ! (interface->open - = (int (*) (MFrame *, MPlist *)) dlsym (interface->handle, - "device_open")) - || ! (interface->fini - = (int (*) ()) dlsym (interface->handle, "device_fini")) + || ! (*(void **) (&interface->init) + = dlsym (interface->handle, "device_init")) + || ! (*(void **) (&interface->open) + = dlsym (interface->handle, "device_open")) + || ! (*(void **) (&interface->fini) + = dlsym (interface->handle, "device_fini")) || (*interface->init) () < 0) { fprintf (stderr, "%s\n", (char *) dlerror ());