| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/libgxim-0.3.3/ |
Upload File : |
2009-04-02 Akira TAGOH <akira@tagoh.org>
* configure.ac: bump to 0.3.3.
* NEWS: update.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_FORWARD_EVENT):
Fix an error handling to avoid a freeze when any parser error happens.
(g_xim_protocol10_closure_signal_XIM_FORWARD_EVENT): likewise.
2009-03-03 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_get_window): increase a reference count
here to avoid destroying a window unexpectedly.
(g_xim_get_selection_owner): hack to keep similar behavior.
* libgxim/gximclconn.c (g_xim_client_transport_real_do_send_via_property):
do increase/decrease a reference count appropriately
(g_xim_client_transport_real_do_send_via_cm): likewise.
* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_send_via_property):
likewise.
(g_xim_server_transport_real_do_send_via_cm): likewise.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_dispose): likewise.
(g_xim_cl_tmpl_real_translate_events): likewise.
(g_xim_cl_tmpl_real_selection_notify_event): likewise.
* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): likewise.
(g_xim_srv_tmpl_real_translate_events): likewise.
(g_xim_srv_tmpl_real_xconnect): likewise.
(g_xim_srv_tmpl_send_selection_notify): likewise.
(g_xim_srv_tmpl_add_connection): likewise.
2009-03-02 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_xevent_translate_event_type): Fix dealing
with the event type to avoid the unknown event. (Issue#5)
2009-01-13 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.[ch]: add more documents without tmpl file.
Issue#4 - Memory leak in g_xim_attr_get_attribute_from_stream() and
g_xim_protocol_read_vformat() (for nested lists). patched by rainy6144.
* libgxim/gximattr.c (g_xim_attr_get_attribute_from_stream): Fix
a memory leak.
* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): Fix a memory
leak in dealing with G_XIM_TYPE_NESTEDLIST
* libgxim/gximmisc.c (g_xim_copy_by_gtype): new for helper.
(g_xim_free_by_gtype): likewise.
2008-11-06 Akira TAGOH <akira@tagoh.org>
* libgxim/gximconnection.c: add more documents without tmpl file.
* libgxim/gximmessage.[ch]: add more documents without tmpl file.
* libgxim/gximcltmpl.[ch]: add more documents without tmpl file.
* libgxim/gximsrvtmpl.[ch]: add more documents without tmpl file.
* libgxim/gximcore.c: add more documents without tmpl file.
2008-10-29 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): set
the property with the atomic operation.
* libgxim/gximcore.c (g_xim_core_atom_init): create caches for X Atom
here. otherwise the client applications may fails due to no Atom
available for them.
2008-10-23 Akira TAGOH <akira@tagoh.org>
* docs/reference/libgxim-docs.sgml: Updated.
* libgxim/gximmessage.c (g_xim_message_vprintf): make more simple to
avoid % appears in the format string after decorating.
* libgxim/gximprotocol.c (g_xim_protocol_get_queue_length): new.
2008-10-22 Akira TAGOH <akira@tagoh.org>
* libgxim/gximconnection.[ch]: Add documents for gtk-doc.
* docs/reference/tmpl/gximconnection.sgml: new.
* libgxim/gximcltmpl.[ch]: Add documents for gtk-doc.
* docs/reference/tmpl/gximcltmpl.sgml: new.
2008-10-21 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.[ch]: Add documents for gtk-doc.
* docs/reference/tmpl/gximsrvtmpl.sgml: new.
2008-10-17 Akira TAGOH <akira@tagoh.org>
* docs/reference/tmpl/gximmessage.sgml: new.
* libgxim/gximmessage.[ch]: Add documents for gtk-doc.
* docs/reference/tmpl/gximcore.sgml: new.
* docs/reference/libgxim-docs.sgml: new.
* docs/reference/version.xml.in: new.
* libgxim/gximcore.[ch]: Add documents for gtk-doc.
2008-10-16 Akira TAGOH <akira@tagoh.org>
* configure.ac: gtk-doc enabled.
* libgxim/libgxim.h: new file.
2008-10-11 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_get_window): trap X error.
2008-10-06 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_real_parser_error):
Use a signal instead of hardcoding the error handlers.
* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add a new
signal 'parser_error'.
(g_xim_protocol_send_vformat): Fix a local scope issue.
(g_xim_protocol_raise_parser_error): new.
2008-10-02 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.c (g_xim_protocol_send): store the packet size
and return true to avoid an error even if the packet is queued.
(g_xim_protocol_send_with_list): likewise.
2008-10-01 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_protocol_name): new.
* libgxim/gximprotocol.c (_free_sendq): new.
(g_xim_protocol_send): do not send a packet if it's in the queueing
mode.
(g_xim_protocol_send_with_list): likewise.
(g_xim_protocol_start_queue): new.
(g_xim_protocol_end_queue): new.
(g_xim_protocol_cancel_queue): new.
(g_xim_protocol_is_queued): new.
2008-09-29 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): set an error
for reason.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_bad_protocol):
new function.
(g_xim_protocol10_closure_XIM_CONNECT)
(g_xim_protocol10_closure_XIM_AUTH_REQUIRED)
(g_xim_protocol10_closure_XIM_AUTH_REPLY)
(g_xim_protocol10_closure_XIM_AUTH_NEXT)
(g_xim_protocol10_closure_XIM_AUTH_SETUP)
(g_xim_protocol10_closure_XIM_OPEN)
(g_xim_protocol10_closure_XIM_CLOSE)
(g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY)
(g_xim_protocol10_closure_XIM_ENCODING_NEGOTIATION)
(g_xim_protocol10_closure_XIM_QUERY_EXTENSION)
(g_xim_protocol10_closure_XIM_SET_IM_VALUES)
(g_xim_protocol10_closure_XIM_GET_IM_VALUES)
(g_xim_protocol10_closure_XIM_DESTROY_IC)
(g_xim_protocol10_closure_XIM_SET_IC_VALUES)
(g_xim_protocol10_closure_XIM_GET_IC_VALUES)
(g_xim_protocol10_closure_XIM_FORWARD_EVENT)
(g_xim_protocol10_closure_XIM_SYNC)
(g_xim_protocol10_closure_XIM_COMMIT)
(g_xim_protocol10_closure_XIM_RESET_IC)
(g_xim_protocol10_closure_XIM_STR_CONVERSION)
(g_xim_protocol10_closure_XIM_PREEDIT_START)
(g_xim_protocol10_closure_XIM_PREEDIT_CARET): Send back an error
message or appropreate response to not freeze the opposite party.
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_client_event): Fix
a memory leak and output an error message if available.
* libgxim/gximmessage.c (g_xim_message_vprintf): Display current time.
2008-09-25 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event): Fix a memory
leak and output an error message if available.
2008-09-14 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): use macro for
format.
2008-09-13 Akira TAGOH <akira@tagoh.org>
* Makefile.am (ACLOCAL_AMFLAGS): Fix an error on aclocal.
* libgxim/gximmisc.c (g_xim_nested_list_foreach): new.
* libgxim/gximattr.c (g_xim_ic_attr_set_attr): new.
(g_xim_ic_attr_real_set_property): do not set a value for
preeditAttributes and statusAttributes. set data in the nested list
instead.
(g_xim_ic_attr_real_get_property): do not allow getting a value for
preeditAttributes and statusAttributes.
* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): try to rescue
the data as much as possible even when an error happens during reading
NESTEDLIST.
* libgxim/gximsrvconn.c (g_xim_server_connection_cmd_encoding_negotiation_reply):
Fix a typo.
* libgxim/gximattr.c (g_xim_attr_set_raw_attr): Fix a build error on
32bit arch with gcc 4.3.1.
* libgxim/gximprotocol.c (g_xim_protocol_read_vformat): likewise.
* libgxim/gximsrvconn.c (g_xim_server_connection_cmd_commit): likewise.
* autogen.sh: Fix an error on aclocal.
* libgxim/gximattr.c (g_xim_ic_attr_real_set_property): implemented.
(g_xim_ic_attr_real_get_property): likewise.
(g_xim_ic_attr_real_finalize): likewise.
2008-09-12 Akira TAGOH <akira@tagoh.org>
* libgxim/gximattr.c (g_xim_im_attr_new): check argument.
(g_xim_ic_attr_new): likewise.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_COMMIT):
Fix an invalid memory access.
2008-09-11 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.c (locales): Add missing locales.
2008-09-10 Akira TAGOH <akira@tagoh.org>
* libgxim/gximconnection.c: rename APIs to see the command.
* libgxim/gximsrvconn.c: rename APIs to see the command.
* libgxim/gximclconn.c: likewise.
2008-09-04 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.c (g_xim_protocol_process_event): Fix
discarding the packets when reconnecting.
(g_xim_protocol_translate): interface is changed due to the above fix.
2008-09-02 Akira TAGOH <akira@tagoh.org>
* libgxim/Makefile.am (gximcltmpl.c): Add to satisfy the dependency.
2008-08-29 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
Fix an invalid memory access.
2008-08-25 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_AUTH_NG):
implemented.
* libgxim/gximprotocol.c (g_xim_protocol_send): reflect the return
value from the result of sending packets.
(g_xim_protocol_send_with_list): likewise.
* libgxim/gximconnection.c (g_xim_connection_forward_event): merged.
* libgxim/gximsrvconn.c (g_xim_server_connection_set_im_values_reply): new.
(g_xim_server_connection_set_im_values_reply): moved to gximconnection.c
* libgxim/gximclconn.c (g_xim_client_connection_set_im_values): new.
(g_xim_client_connection_forward_event): moved to gximconnection.c
* libgxim/gximattr.c (g_xim_im_attr_real_set_property): keep a copy of
instance.
2008-08-22 Akira TAGOH <akira@tagoh.org>
* libgxim/gximconnection.c (g_xim_connection_real_finalize): free
the encodings.
* libgxim/gximsrvconn.c (g_xim_server_connection_encoding_negotiation_reply):
store the encoding category and index.
* libgxim/gximclconn.c (g_xim_client_protocol_real_XIM_ENCODING_NEGOTIATION_REPLY):
store the encoding category and index.
(g_xim_client_connection_encoding_negotiation): store the encodings.
* libgxim/gximmessage.c (_g_xim_message_dbus_message_filter):
Initialize a value before using it.
2008-08-21 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
process the multiple transport protocol separately as do it for
locales.
* libgxim/gximclient.c (g_xim_client_real_notify_transport):
recognize the multiple transport protocol.
* libgxim/gximprotocol.c (g_xim_protocol_process_event): get
the property data from own function instead of gdk_property_get
to avoid "no data".
* libgxim/gximconnection.c (g_xim_connection_real_finalize):
destroy the transport interface.
(g_xim_connection_setup): initialize the transport interface.
* libgxim/gximtransport.c (g_xim_transport_real_do_get_property): new.
(g_xim_transport_init): new.
(g_xim_transport_finalize): new.
(g_xim_transport_destroy): removed.
(g_xim_transport_get_private): new.
(g_xim_transport_set_version, g_xim_transport_get_version)
(g_xim_transport_set_transport_size)
(g_xim_transport_get_transport_size)
(g_xim_transport_set_transport_max)
(g_xim_transport_get_transport_max, g_xim_transport_set_display)
(g_xim_transport_get_display, g_xim_transport_get_atom)
(g_xim_transport_set_client_window)
(g_xim_transport_get_client_window, g_xim_transport_get_channel)
(g_xim_transport_set_direction, g_xim_transport_get_direction):
store the value to the private structure instead of putting the data
in GObject.
(g_xim_transport_get_property): new.
* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_get_property):
new.
* libgxim/gximclconn.c (g_xim_client_transport_real_do_get_property):
new.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_is_initialized): check only
if the connection established.
* libgxim/gximmessage.h: Fix a typo.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_signal_XIM_CONNECT):
send better reply.
(g_xim_protocol10_closure_signal_XIM_AUTH_REQUIRED): likewise.
(g_xim_protocol10_closure_signal_XIM_AUTH_REPLY): likewise.
(g_xim_protocol10_closure_signal_XIM_AUTH_NEXT): likewise.
(g_xim_protocol10_closure_signal_XIM_AUTH_SETUP): likewise.
(g_xim_protocol10_closure_signal_XIM_DESTROY_IC): likewise.
(g_xim_protocol10_closure_signal_XIM_FORWARD_EVENT): likewise.
(g_xim_protocol10_closure_signal_XIM_SYNC): likewise.
(g_xim_protocol10_closure_signal_XIM_COMMIT): likewise.
* libgxim/gximprotocol.c (g_xim_protocol_init): stop overriding
the finalizer and disposer in GObject's class. this breaks multiple
inheritance.
* libgxim/gximconnection.c (g_xim_connection_real_dispose): new.
(g_xim_connection_real_finalize): destroy the protocol interface
explicitly.
(g_xim_connection_auth_ng): new.
(g_xim_connection_sync_reply): new.
* libgxim/gximsrvconn.c (g_xim_server_connection_sync_reply):
merged into g_xim_connection_sync_reply.
(g_xim_server_protocol_real_XIM_DISCONNECT): use an API instead of
sending directly.
(g_xim_server_protocol_real_XIM_OPEN): likewise.
(g_xim_server_protocol_real_XIM_CLOSE): likewise.
(g_xim_server_protocol_real_XIM_ENCODING_NEGOTIATION): likewise.
(g_xim_server_protocol_real_XIM_TRIGGER_NOTIFY): implemented.
* libgxim/gximclconn.c (g_xim_client_connection_sync_reply):
merged into g_xim_connection_sync_reply.
2008-08-18 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): Fix
overwriting XIM_SERVERS.
* libgxim/gximmisc.c (g_xim_gdkevent_type_name): new.
(g_xim_value_type_to_gtype): Add more types.
(g_xim_lookup_xim_server): Add a flag to notice an error.
(g_xim_attribute_clear): check the type.
* libgxim/gximserver.c (g_xim_server_real_xim_open): use an API
instead of sending directly.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_CREATE_IC):
recover an error as much as possible.
(g_xim_protocol10_closure_signal_no_impl): send imid and icid
if available.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
(g_xim_protocol_read_vformat): likewise.
(g_xim_protocol_read_vformat): allow null window.
* libgxim/gximsrvconn.c (g_xim_server_connection_sync): new.
* libgxim/gximclconn.c (g_xim_client_connection_sync): new.
2008-08-15 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_nested_list_node_copy): Fix an error
for non-boxed objects.
(g_xim_nested_list_node_free): likewise.
(g_xim_value_type_name): Add more types.
(g_xim_nested_list_append): copy a value properly.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_REGISTER_TRIGGERKEYS):
recover an error as much as possible.
(g_xim_protocol10_closure_XIM_RESET_IC_REPLY): implemented.
(g_xim_protocol10_closure_signal_XIM_ERROR): output the comfortable
thing instead of sending an error again.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
(g_xim_protocol_read_vformat): likewise.
* libgxim/gximconnection.c (g_xim_connection_error): new.
* libgxim/gximsrvconn.c (g_xim_server_connection_reset_ic_reply): new.
* libgxim/gximclconn.c (g_xim_client_connection_reset_ic): new.
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_dispose): stop watching
the event for the selection window.
(g_xim_srv_tmpl_take_ownership): increment the refcount for the root
window to give it to the event.
* libgxim/gximcore.c (g_xim_core_real_finalize): output the debugging
info.
(g_xim_core_watch_event): Update for the debug.
(g_xim_core_unwatch_event): likewise.
2008-08-14 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.h (G_XIM_GERROR_IS_RECOVERABLE): measure non-marker
error as unrecoverable.
* libgxim/gximmisc.c (g_xim_nested_list_node_new): new.
(g_xim_nested_list_node_copy): new.
(g_xim_nested_list_node_free): new.
(g_xim_value_type_to_gtype): new.
(g_xim_value_type_name): Add more types.
(g_xim_get_pixmap): new.
(g_xim_styles_insert): revert the change.
(g_xim_nested_list_new): implemented.
(g_xim_nested_list_copy): likewise.
(g_xim_nested_list_free): likewise.
(g_xim_nested_list_append): new.
(g_xim_nested_list_put_to_stream): new.
(g_xim_text_copy): Fix a position of the sanity check.
(g_xim_status_draw_get_type): new.
(g_xim_status_draw_new): new.
(g_xim_status_draw_copy): new.
(g_xim_status_draw_free): new.
(g_xim_status_draw_put_to_stream): new.
(g_xim_status_draw_get_from_stream): new.
* libgxim/gximattr.c (g_xim_attr_put_attribute_to_stream): output
more debugging info.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY):
Implemented.
(g_xim_protocol10_closure_XIM_TRIGGER_NOTIFY_REPLY): likewise.
(g_xim_protocol10_closure_XIM_QUERY_EXTENSION_REPLY): recover
the error as much as possible.
(g_xim_protocol10_closure_XIM_STATUS_DRAW): implemented.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Add more types.
(g_xim_protocol_read_vformat): likewise.
* libgxim/gximtransport.c (g_xim_transport_get_native_channel_from):
allow GdkDrawable as argument.
* libgxim/gximsrvconn.c (g_xim_server_transport_real_do_get_native_channel):
support GdkPixmap too.
(g_xim_server_connection_status_draw): new.
(g_xim_server_connection_status_done): new.
(g_xim_server_connection_register_triggerkeys): new.
(g_xim_server_connection_trigger_notify_reply): new.
(g_xim_server_connection_set_ic_values_reply): new.
* libgxim/gximclconn.c (g_xim_client_transport_real_do_get_native_channel):
support GdkPixmap too.
(g_xim_client_connection_close_im): Fix a typo.
(g_xim_client_connection_trigger_notify): new.
(g_xim_client_connection_set_ic_values): new.
2008-08-13 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.h (G_XIM_GERROR_IS_RECOVERABLE): new macro.
(G_XIM_GERROR_RESET_NOTICE_FLAG): likewise.
(G_XIM_GERROR_SET_NOTICE_FLAG): likewise.
(G_XIM_CHECK_ALLOC_WITH_CODE): likewise.
(G_XIM_CHECK_ALLOC): likewise.
(G_XIM_CHECK_ALLOC_WITH_NO_RET): likewise.
(G_XIM_GERROR_CHECK_ALLOC_WITH_CODE): likewise.
(G_XIM_GERROR_CHECK_ALLOC): likewise.
* libgxim/gximmessage.h (g_xim_message_gerror): new macro.
* libgxim/gximclconn.c: better error handling.
* libgxim/gximtransport.c: likewise.
* libgxim/gximsrvconn.c: likewise.
* libgxim/gximcore.c: likewise.
* libgxim/gximclient.c: likewise.
* libgxim/gximsrvtmpl.c: likewise.
* libgxim/gximmisc.c: likewise.
* libgxim/gximcltmpl.c: likewise.
* libgxim/gximerror.c: likewise.
* libgxim/gximattr.c: likewise.
* libgxim/gximserver.c: likewise.
* libgxim/gximprotocol10.c: likewise.
* libgxim/gximprotocol.c: likewise.
* libgxim/gximmisc.c (g_xim_value_type_name): Add more types.
(g_xim_gstring_get_from_stream): fails immediately if any error occured.
(g_xim_hotkey_trigger_get_type): new.
(g_xim_hotkey_trigger_new): new.
(g_xim_hotkey_trigger_copy): new.
(g_xim_hotkey_trigger_free): new.
(g_xim_hotkey_trigger_put_to_stream): new.
(g_xim_hotkey_trigger_get_from_stream): new.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_REGISTER_TRIGGERKEYS):
Implemented.
(g_xim_protocol10_closure_XIM_GET_IM_VALUES_REPLY): send a null list
if getting IM attribute is failed.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): Implement
more types.
(g_xim_protocol_read_vformat): likewise.
* libgxim/gximsrvconn.c (g_xim_server_connection_register_triggerkeys):
new.
2008-08-11 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_value_type_name): Add more types.
(g_xim_text_get_type): new.
(g_xim_text_new): new.
(g_xim_text_set_mbstring): new.
(g_xim_text_set_wcstring): new.
(g_xim_text_clear_string): new.
(g_xim_text_set_feedback): new.
(g_xim_text_get_feedback): new.
(g_xim_text_copy): new.
(g_xim_text_free): new.
(g_xim_text_put_to_stream): new.
(g_xim_text_get_from_stream): new.
(g_xim_preedit_draw_get_type): new.
(g_xim_preedit_draw_new): new.
(g_xim_preedit_draw_copy): new.
(g_xim_preedit_draw_free): new.
(g_xim_preedit_draw_put_to_stream): new.
(g_xim_preedit_draw_get_from_stream): new.
* libgxim/gximmessage.c: a bit shut up the debugging messages.
* libgxim/gximattr.c (g_xim_ic_attr_class_init): Add resetState
property.
(g_xim_ic_attr_class_init): correct the value type of cursor.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_COMMIT):
implemented.
(g_xim_protocol10_closure_XIM_PREEDIT_DRAW): likewise.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): implement
more types.
(g_xim_protocol_send_with_list): really support the auto-padding type.
(g_xim_protocol_read_vformat): implement more types.
* libgxim/gximsrvconn.c (g_xim_server_connection_query_extension_reply):
allow the null list for extensions.
(g_xim_server_connection_preedit_draw): new.
(g_xim_server_connection_commit): new.
(g_xim_server_connection_status_start): new.
(g_xim_server_connection_status_done): new.
2008-08-08 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.c (g_xim_protocol_dispose): new. call
g_xim_protocol_closure_finalize instead of in finalize.
* libgxim/gximmisc.c (g_xim_gdkevent_translate_event_type): new.
(g_xim_xevent_translate_event_type): new.
(g_xim_styles_put_to_stream): Use GXimProtocol instead of sending
directly.
(g_xim_rectangle_put_to_stream): likewise.
(g_xim_point_put_to_stream): likewise.
(g_xim_gdkevent_get_error_quark): new.
(g_xim_gdkevent_put_to_stream): new.
(g_xim_gdkevent_get_from_stream): new.
* libgxim/gximtypes.h (G_XIM_NATIVE_WINDOW_TO_POINTER):
Moved from gximtransport.h.
(G_XIM_POINTER_TO_NATIVE_WINDOW): likewise.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_FORWARD_EVENT):
implemented.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat):
get a GCancellable and a GError as arguments.
(g_xim_protocol_send_format): likewise.
* libgxim/gximsrvconn.c (g_xim_server_connection_forward_event): new.
(g_xim_server_connection_sync_reply): new.
* libgxim/gximclconn.c (g_xim_client_connection_forward_event): new.
(g_xim_client_connection_sync_reply): new.
2008-08-07 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_preedit_caret_get_type): new.
(g_xim_preedit_caret_new): new.
(g_xim_preedit_caret_copy): new.
(g_xim_preedit_caret_free): new.
(g_xim_preedit_caret_put_to_stream): new.
(g_xim_preedit_caret_get_from_stream): new.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_DISCONNECT):
do not turn on the disconnect flag yet.
(g_xim_protocol10_closure_XIM_PREEDIT_CARET): implemented.
* libgxim/gximprotocol.c (g_xim_protocol_send_vformat): implement
G_XIM_TYPE_PREEDIT_CARET type.
(g_xim_protocol_read_vformat): likewise.
* libgxim/gximsrvconn.c (g_xim_server_connection_disconnect_reply):
new.
(g_xim_server_connection_preedit_start): Fix a typo.
(g_xim_server_connection_preedit_caret): new.
(g_xim_server_connection_preedit_done): new.
* libgxim/gximclconn.c (g_xim_client_connection_disconnect): new.
(g_xim_client_connection_preedit_caret_reply): new.
* libgxim/gximmisc.c (g_xim_value_type_name): new.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_XIM_ERROR):
implemented.
(g_xim_protocol10_closure_XIM_SET_EVENT_MASK): likewise.
(g_xim_protocol10_closure_XIM_SET_IM_VALUES): likewise.
(g_xim_protocol10_closure_XIM_SET_IM_VALUES_REPLY): likewise.
(g_xim_protocol10_closure_XIM_DESTROY_IC): likewise.
(g_xim_protocol10_closure_XIM_DESTROY_IC_REPLY): likewise.
(g_xim_protocol10_closure_XIM_SET_IC_VALUES): likewise.
(g_xim_protocol10_closure_XIM_SET_IC_VALUES_REPLY): likewise.
(g_xim_protocol10_closure_XIM_GET_IC_VALUES): likewise.
(g_xim_protocol10_closure_XIM_GET_IC_VALUES_REPLY): likewise.
(g_xim_protocol10_closure_XIM_SET_IC_FOCUS): likewise.
(g_xim_protocol10_closure_XIM_UNSET_IC_FOCUS): likewise.
(g_xim_protocol10_closure_XIM_SYNC): likewise.
(g_xim_protocol10_closure_XIM_SYNC_REPLY): likewise.
(g_xim_protocol10_closure_XIM_RESET_IC): likewise.
(g_xim_protocol10_closure_XIM_GEOMETRY): likewise.
(g_xim_protocol10_closure_XIM_PREEDIT_START): likewise.
(g_xim_protocol10_closure_XIM_PREEDIT_START_REPLY): likewise.
(g_xim_protocol10_closure_XIM_PREEDIT_CARET_REPLY): likewise.
(g_xim_protocol10_closure_XIM_PREEDIT_DONE): likewise.
(g_xim_protocol10_closure_XIM_STATUS_START): likewise.
(g_xim_protocol10_closure_XIM_STATUS_DONE): likewise.
* libgxim/gximprotocol.c (g_xim_protocol_translate): set an error
for debugging purpose.
(g_xim_protocol_read_vformat): support the markers for values
as much as possible.
* libgxim/gximsrvconn.c (g_xim_server_connection_create_ic_reply):
new.
(g_xim_server_connection_set_event_mask): new.
(g_xim_server_connection_get_ic_values_reply): new.
(g_xim_server_connection_destroy_ic_reply): new.
(g_xim_server_connection_close_reply): new.
(g_xim_server_connection_preedit_start): new.
* libgxim/gximclconn.c (g_xim_client_connection_create_ic): new.
(g_xim_client_connection_get_ic_values): new.
(g_xim_client_connection_destroy_ic): new.
(g_xim_client_connection_close_im): new.
(g_xim_client_connection_set_ic_focus): new.
(g_xim_client_connection_unset_ic_focus): new.
(g_xim_client_connection_preedit_start_reply): new.
* libgxim/gximprotocol.c (g_xim_protocol_add_protocol)
(g_xim_protocol_remove_protocol_by_id)
(g_xim_protocol_lookup_protocol_by_name): allow the case-insensitive
search.
* libgxim/gximprotocol10.c (g_xim_protocol10_closure_init): connect
signals to the default behavior for the protocols.
* libgxim/gximprotocol.c (g_xim_protocol_init): moved to
gximprotocol10.c, anything related to the specific-protocol thing.
2008-08-06 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol10.[ch]: closure definitions.
* libgxim/gximmisc.c (g_xim_ext_get_type): new.
(g_xim_ext_new): new.
(g_xim_ext_copy): new.
(g_xim_ext_free): new.
(g_xim_ext_put_to_stream): new.
(g_xim_ext_get_from_stream): new.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_finalize):
unref the server window.
* libgxim/gximattr.c (g_xim_attr_get_attribute_from_stream):
Add more debug info.
* libgxim/gximprotocol.c (g_xim_protocol_no_impl): Fix a typo.
(g_xim_protocol_base_class_init): removed all of GSignal related code.
(g_xim_protocol_finalize): destroy the protocol closures.
(g_xim_protocol_extension_closure_marshal_BOOLEAN__OBJECT_OBJECT):
removed.
(g_xim_protocol_init): initialize the protocol closures and connect to
the own closure system instead of GSignal.
(g_xim_protocol_translate): removed the hard-coded protocol translator.
(g_xim_protocol_read_vformat): implement more.
(g_xim_protocol_add_protocol): new.
(g_xim_protocol_remove_protocol): new.
(g_xim_protocol_remove_protocol_by_id): new.
(g_xim_protocol_lookup_protocol_by_name): new.
(g_xim_protocol_lookup_protocol_by_id): new.
(g_xim_protocol_connect_closure_by_id): new.
(g_xim_protocol_connect_closure_by_name): new.
(g_xim_protocol_closure_new): support an extension.
(g_xim_protocol_closure_is_an_extension): new.
(g_xim_protocol_closure_add_signal): new.
(g_xim_protocol_closure_connect): new.
(g_xim_protocol_closure_disconnect): new.
(g_xim_protocol_closure_emit_signal): new.
* libgxim/gximclconn.c (g_xim_client_connection_real_protocol_init):
connect to the own closure system instead of GSignal.
This will makes easier to have add-ons for newer protocol version
in the future.
* libgxim/gximsrvconn.c (g_xim_server_connection_real_protocol_init):
likewise.
* libgxim/gximconnection.c (g_xim_connection_setup): likewise.
* libgxim/gximclient.c (g_xim_client_open_im): strip the locale code
down to the essentials and try again to check if current locale is
supported by the server.
(g_xim_client_new): check the return value.
* libgxim/gximprotocol.c (g_xim_protocol_closure_marshal_BOOLEAN__OBJECT_OBJECT_POINTER):
new.
(g_xim_protocol_closure_new): new.
(g_xim_protocol_closure_free): new.
(g_xim_protocol_closure_set_marshal): new.
2008-08-05 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_gtype_to_value_type):
support more types.
(g_xim_styles_copy): Fix a invalid memory access.
(g_xim_styles_put_attributes_to_stream): removed.
(g_xim_styles_get_from_stream): new.
(g_xim_fontset_put_to_stream): new.
(g_xim_fontset_get_from_stream): new.
(g_xim_raw_attr_get_type): new.
(g_xim_raw_attr_new): new.
(g_xim_raw_attr_new_with_value): new.
(g_xim_raw_attr_set_name): new.
(g_xim_raw_attr_clear): new.
(g_xim_raw_attr_copy): new.
(g_xim_raw_attr_free): new.
(g_xim_raw_attr_put_to_stream): new.
(g_xim_raw_attr_get_from_stream): new.
(g_xim_attribute_get_type): new.
(g_xim_attribute_new): new.
(g_xim_attribute_new_with_value): new.
(g_xim_attribute_set): new.
(g_xim_attribute_clear): new.
(g_xim_attribute_copy): new.
(g_xim_attribute_free): new.
(g_xim_attribute_put_to_stream): new.
(g_xim_sep_nested_list_get_type): new.
(g_xim_sep_nested_list_new): new.
(g_xim_sep_nested_list_copy): new.
(g_xim_sep_nested_list_free): new.
* libgxim/gximattr.c (g_xim_attr_real_put_attrlist_to_stream)
(g_xim_attr_real_get_attrlist_from_stream)
(g_xim_attr_put_attrlist_to_stream)
(g_xim_attr_get_attrlist_from_stream)
(g_xim_im_attr_get_attrlist_from_stream)
(g_xim_ic_attr_get_attrlist_from_stream): removed.
(g_xim_ic_attr_class_init): correct wrong value type.
(g_xim_attr_get_n_supported_attributes): Fix a memory leak.
(g_xim_attr_set_raw_attr): new.
(g_xim_attr_put_attribute_to_stream): new.
(g_xim_attr_get_attribute_from_stream): new.
* libgxim/gximserver.c (g_xim_server_real_xim_open): update.
(g_xim_server_real_xim_get_im_values): update.
* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add missing
signals.
(g_xim_protocol_find_marker): new.
(g_xim_protocol_translate): implement and improve a procedure. now
prefer using a helper function but not access the stream directly.
(g_xim_protocol_send_vformat): support more types.
(g_xim_protocol_read_vformat): new.
(g_xim_protocol_read_format): new.
* libgxim/gximsrvconn.c (g_xim_server_connection_open_reply):
take a list as arguments instead of object to keep a consistency to
other API.
(g_xim_server_connection_encoding_negotiation_reply): new.
(g_xim_server_connection_get_im_values_reply): new.
2008-08-04 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_styles_insert): new.
* libgxim/gximconnection.c (g_xim_connection_real_finalize): unref
attrubites.
* libgxim/gximclconn.c (g_xim_client_connection_encoding_negotiation):
new.
(g_xim_client_connection_get_im_values): new.
* libgxim/gximprotocol.c (g_xim_protocol_extension_free): ifdef'd to
unref the closure.
2008-08-03 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
null-terminate the property.
* libgxim/gximmisc.c (g_xim_gtype_to_value_type): implement more.
(g_xim_rectangle_get_type): new.
(g_xim_rectangle_new): new.
(g_xim_rectangle_copy): new.
(g_xim_rectangle_free): new.
(g_xim_rectangle_put_to_stream): new.
(g_xim_rectangle_get_from_stream): new.
(g_xim_point_get_type): new.
(g_xim_point_new): new.
(g_xim_point_copy): new.
(g_xim_point_free): new.
(g_xim_point_put_to_stream): new.
(g_xim_point_get_from_stream): new.
(g_xim_fontset_get_type): new.
(g_xim_fontset_copy): new.
(g_xim_fontset_free): new.
(g_xim_gstring_put_to_stream): new.
(g_xim_gstring_get_from_stream): new.
(g_xim_string_copy): Exactly copy all of values.
(g_xim_str_copy): likewise.
(g_xim_encodinginfo_copy): likewise.
(g_xim_nested_list_get_type): new.
* libgxim/gximattr.c (g_xim_attr_real_get_attrlist_from_stream): new.
(g_xim_attr_get_attrlist_from_stream): new.
(g_xim_im_attr_get_attrlist_from_stream): new.
(g_xim_ic_attr_get_attrlist_from_stream): new.
* libgxim/gximprotocol.c (g_xim_protocol_real_open_reply):
Fix a missing argument.
(g_xim_protocol_base_class_init): Add missing signals.
(g_xim_protocol_translate): Implement more.
(g_xim_protocol_send_vformat): implement more.
(g_xim_protocol_extension_new): set handler if available.
(g_xim_protocol_extension_set_handler): new.
(g_xim_protocol_extension_get_from_stream): new.
* libgxim/gximsrvconn.c (g_xim_server_connection_open_reply): new.
(g_xim_server_connection_query_extension_reply): new.
* libgxim/gximclient.c (g_xim_client_open_im): fail on precheck
if the initialization process isn't yet finished.
* libgxim/gximclconn.c (g_xim_client_connection_real_finalize):
destroy IM/IC ATTR objects.
(g_xim_client_protocol_real_open_reply): store the im id and IM/IC
attrs.
(g_xim_client_connection_open_im): Use GXimStr instead of gchar * as
argument.
(g_xim_client_connection_query_extension): new.
2008-07-31 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_str_put_to_stream): Fix a typo.
* libgxim/gximprotocol.c (g_xim_protocol_base_class_init): Add
a missing signal.
* libgxim/gximconnection.c (g_xim_connection_setup): connect to
the signals for GXimProtocol.
* libgxim/gximsrvconn.c (g_xim_server_connection_connect_reply): new.
* libgxim/gximcore.c (g_xim_core_real_set_property): Do nothing
if the value of "proto_signals" is null.
* libgxim/gximclconn.c (g_xim_client_protocol_real_connect_reply): new.
(g_xim_client_connection_connect)
(g_xim_client_connection_open_im): Add an async flag.
* libgxim/gximmisc.c (g_xim_get_byte_order): new.
(g_xim_str_append): new.
(g_xim_str_append_len): new.
(g_xim_str_put_to_stream): send the length of string within a byte but
not a word.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
get rid of @locale= from the property.
* libgxim/gximprotocol.c (g_xim_protocol_translate): check if there
are any request to sync up the protocol.
(g_xim_protocol_send_vformat): implement for GXimStr.
(g_xim_protocol_wait_for_reply): new.
* libgxim/gximconnection.c (g_xim_connection_setup):
Initialize GXimProtocol before initializing the child interface.
* libgxim/gximtransport.c (g_xim_transport_set_direction): new for
debugging purpose only.
(g_xim_transport_get_direction): likewise.
(g_xim_transport_dump): show appropriate direction of arrow for server
and client.
* libgxim/gximclient.c (g_xim_client_open_im): implemented.
* libgxim/gximclconn.c (g_xim_client_connection_real_protocol_init):
Initialize the byte order.
(g_xim_client_connection_connect): new.
(g_xim_client_connection_open_im): new.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
make more controllable to do something outside of class.
i.e. emit a signal to do so.
* libgxim/gximclient.c (g_xim_client_real_notify_locales): new.
(g_xim_client_real_notify_transport): new.
2008-07-30 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_xconnect)
(g_xim_cl_tmpl_connect_to_server): remove the unnecessary event watch
and watch the event before sending XIM_XCONNECT.
* libgxim/gximcore.c (g_xim_core_watch_event): more debugging message.
(g_xim_core_unwatch_event): likewise.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event):
get a return value as boolean.
(g_xim_cl_tmpl_class_init): do not marshal a signal if callback
returns TRUE.
(g_xim_cl_tmpl_connect_to_server): watch the event on the comm window.
* libgxim/gximprotocol.c (g_xim_protocol_translate):
get rid of GXimTransport from the signal arguments.
* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): unwatch the event
for unnecessary connection.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_constructor):
watch the event for the selection window here.
(g_xim_cl_tmpl_real_dispose): new to unwatch the event.
* libgxim/gximmessage.c (g_xim_message_real_dispose): new to
disconnect signals.
* libgxim/gximconnection.c (g_xim_connection_real_finalize):
destroy the transport variables.
* libgxim/gximcore.c (g_xim_core_real_finalize): destroy the allocated
variables.
(g_xim_core_watch_event): renamed from g_xim_core_run.
(g_xim_core_unwatch_event): new.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_selection_notify_event):
send XIM_XCONNECT after getting the supported transport.
(g_xim_cl_tmpl_real_client_event, g_xim_cl_tmpl_real_xconnect):
not deal with GXimConnection here.
(g_xim_cl_tmpl_init): Add a selection window to the event listener.
(g_xim_cl_tmpl_connect_to_server): new.
(g_xim_cl_tmpl_real_xconnect): Update status.
(g_xim_cl_tmpl_connect_to_server): Update status.
* libgxim/gximprotocol.c: get rid of GXimTransport from callbacks.
(g_xim_protocol_send_header, g_xim_protocol_send_fixate_size)
(g_xim_protocol_send_terminate)
(g_xim_protocol_extension_closure_marshal_BOOLEAN__OBJECT_OBJECT)
(g_xim_protocol_process_event, g_xim_protocol_translate)
(g_xim_protocol_send_packets, g_xim_protocol_send_vformat)
(g_xim_protocol_send_format, g_xim_protocol_send)
(g_xim_protocol_send_with_list): get rid of GXimTransport from
arguments.
(g_xim_protocol_get_type): Add prerequisite of GXimTransport.
(g_xim_protocol_init): do not update a finalizer if it's already done.
* libgxim/gximconnection.c: change the order of registration for
the interface.
* libgxim/gximsrvconn.c: get rid of GXimTransport from callbacks.
* libgxim/gximclient.c (g_xim_client_real_setup_connection):
new to shut up an warning.
2008-07-26 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_real_client_event):
Fix a typo.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_client_event):
Fix a typo.
* libgxim/gximserver.c (g_xim_server_real_setup_connection):
Fix a typo.
* libgxim/gximprotocol.c (g_xim_protocol_base_class_init):
Fix a typo.
(g_xim_protocol_translate): give a GXimTransport as first argument
for signal right.
* libgxim/gximconnection.c (g_xim_connection_protocol_init)
(g_xim_connection_transport_init): do not initialize the interface
here.
(g_xim_connection_setup): new.
* libgxim/gximtransport.c (g_xim_transport_base_class_init):
Fix a typo.
* libgxim/gximcore.c (g_xim_core_setup_connection): lazy-initialization
for the interface.
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_class_init): Fix a typo.
* libgxim/gximserver.c (g_xim_server_new): Fix a typo.
* libgxim/gximconnection.h (struct _GXimConnectionClass): Fix a typo.
* libgxim/gximclient.c (g_xim_client_new): Fix a typo.
* libgxim/mkacc.rb (param2typeval): get rid of const from GObject.
* libgxim/gximserver.c (g_xim_server_real_setup_connection):
renamed from g_xim_server_real_setup_proc.
* libgxim/gximconnection.[ch]: connection management class.
* libgxim/gximcore.c (_weak_notify_proc_cb): removed.
(g_xim_core_real_setup_connection): renamed from
g_xim_core_real_setup_proc.
(g_xim_core_dispatch_events): just emit a client event signal.
(g_xim_core_real_constructor): create a selection window here.
(g_xim_core_get_proc): removed.
(g_xim_core_add_proc): removed.
(g_xim_core_remove_proc): removed.
(g_xim_core_get_selection_window): new.
(g_xim_core_get_connection_gtype): new.
(g_xim_core_get_protocol_signal_connector): new.
(g_xim_core_setup_connection): new.
* libgxim/gximsrvtmpl.c (_weak_notify_conn_cb): renamed from
_weak_notify_proc_cb.
(g_xim_srv_tmpl_real_setup_proc): obsolete callback. removed.
(g_xim_srv_tmpl_real_client_event): implemented. now core class
doesn't take care of this event.
(g_xim_srv_tmpl_real_xconnect): new handler.
(g_xim_srv_tmpl_add_connection): new.
(g_xim_srv_tmpl_remove_connection): new.
(g_xim_srv_tmpl_lookup_connection): new.
(g_xim_srv_tmpl_lookup_connection_with_native_window): new.
* libgxim/gximcltmpl.c (g_xim_cl_tmpl_real_setup_proc):
obsolete callback. removed.
(g_xim_cl_tmpl_real_client_event): implemented. now core class
doesn't take care of this event.
(g_xim_cl_tmpl_real_xconnect): new handler.
(g_xim_cl_tmpl_start_negotiation): new.
* libgxim/gximclient.c (g_xim_client_real_selection_notify_event):
moved to gximcltmpl.c. we don't need to have a special case here.
(g_xim_client_new): give a connection type instead of protocol type.
* libgxim/gximclconn.[ch]: client protocol/transport implementation.
gximclientproto.[ch] would be deprecated by this.
* libgxim/gximattr.c (g_xim_attr_real_put_attrlist_to_stream):
Use a macro from gximprotocol.h
* libgxim/gximprotocol.c (g_xim_protocol_process_event): Fix a typo.
* libgxim/gximmisc.c (g_xim_string_get_from_stream): Fix a memory leak.
(g_xim_str_get_from_stream): likewise.
(g_xim_encodinginfo_get_from_stream): likewise.
* libgxim/gximtransport.c (g_xim_transport_base_class_init):
own atoms in the interface for usability reason.
* libgxim/gximsrvconn.[ch]: server protocol/transport implementation.
gximserverproto.[ch] would be deprecated by this.
2008-07-25 Akira TAGOH <akira@tagoh.org>
* libgxim/gximprotocol.[ch]: new interface to deal with the protocol.
* libgxim/gximtransport.c (g_xim_transport_real_do_create_channel):
set a default function.
(g_xim_transport_real_do_get_native_channel): likewise.
(g_xim_transport_real_do_destroy_channel): likewise.
(g_xim_transport_real_do_send_via_property): likewise.
(g_xim_transport_real_do_send_via_cm): likewise.
(g_xim_transport_real_do_send_via_property_notify): likewise.
(g_xim_transport_base_class_init): create a messaging class once.
otherwise just increment a refcount.
(g_xim_transport_get_native_channel_from): new.
2008-07-24 Akira TAGOH <akira@tagoh.org>
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_take_ownership): likewise.
* libgxim/gximcltmpl.c (g_xim_client_real_setup_proc):
Get the proper root window instead of using the default root window.
* libgxim/gximmisc.c (g_xim_get_selection_owner): new.
(g_xim_lookup_xim_server): new.
(g_xim_lookup_xim_server_from_string): new.
(g_xim_get_server_atom): new.
* libgxim/gximcore.c (g_xim_core_real_set_property):
Create a selection window when the display is set. this fixes
the incorrect linkage of GdkWindow to GdkDisplay.
* Makefile.am: Update libgxim-uninstalled.pc as needed.
* libgxim-uninstalled.pc.in: Require gdk-2.0
* libgxim.pc.in: likewise.
2008-07-18 Akira TAGOH <akira@tagoh.org>
* libgxim/gximclient.[ch]: simple client class.
* libgxim/gximcltmpl.[ch]: client side template class.
* libgxim/gximclientproto.[ch]: client protocol class.
* libgxim/gximsrvtmpl.c (g_xim_srv_tmpl_send_selection_notify):
exported.
* libgxim/gximserver.c (g_xim_server_init): set the callbacks for
protocol instead of doing that in _new.
* libgxim/gximmisc.c (g_xim_gtype_to_value_type): support GdkWindow.
* libgxim/gximprotoproc.c (g_xim_protocol_processor_send_vformat):
Pass GdkWindow instead of Window.
* libgxim/gximcore.c (g_xim_core_init): initialize the selection window
instead of in constructor.
(g_xim_core_add_proc): exported.
2008-07-13 Akira TAGOH <akira@tagoh.org>
* Makefile.am (AUTOMAKE_OPTIONS): Add dist-bzip2.
2008-07-12 Akira TAGOH <akira@tagoh.org>
* libgxim/gximserver.[ch]: simple server class.
* libgxim/gximconnection.[ch]: client connection management class.
* libgxim/gximserverproto.[ch]: server protocol class.
* libgxim/gximsrvtmpl.[ch]: server side template class.
* libgxim/gximattr.[ch]: IM/IC attributes class.
* libgxim/gximprotoproc.[ch]: a class deal with the protocol layer.
2008-07-11 Akira TAGOH <akira@tagoh.org>
* libgxim/gximtransport.c (g_xim_transport_destroy): clear the data
in GObject too.
* libgxim/gximmisc.c (g_xim_get_window): do not increment a reference
counter here.
* libgxim/gximcore.c (g_xim_core_class_init): prefer GBoxed instead of
gpointer.
(g_xim_core_add_proc): setup to watch the events.
* libgxim/gximmessage.c (g_xim_message_real_finalize):
Add more debugging message.
2008-07-10 Akira TAGOH <akira@tagoh.org>
* libgxim/gximcore.c (g_xim_core_real_set_property): allow one-shot
update.
* configure.ac: requires gdk instead of x11.
* libgxim/gximtransport.[ch]: Too much changes. get rid of X deps to
be comfortable with Gdk.
* libgxim/gximmisc.c (g_xim_get_window): new to get GdkWindow from
GdkNativeWindow.
(g_xim_styles_get_type): renamed.
(g_xim_styles_get_error_quark): likewise.
(g_xim_styles_new): likewise.
(g_xim_styles_append): likewise.
(g_xim_styles_copy): likewise.
(g_xim_styles_free): likewise.
(g_xim_styles_put_to_stream): likewise.
(g_xim_styles_put_attributes_to_stream): new.
(g_xim_string_get_type): new.
(g_xim_string_new): new.
(g_xim_string_copy): new.
(g_xim_string_free): new.
(g_xim_string_get_string): new.
(g_xim_string_get_length): new.
(g_xim_string_put_to_stream): new.
(g_xim_string_get_from_stream): new.
(g_xim_str_get_type): new.
(g_xim_str_new): new.
(g_xim_str_copy): new.
(g_xim_str_free): new.
(g_xim_str_get_string): new.
(g_xim_str_get_length): new.
(g_xim_str_put_to_stream): new.
(g_xim_str_get_from_stream): new.
(g_xim_encodinginfo_get_type): new.
(g_xim_encodinginfo_new): new.
(g_xim_encodinginfo_copy): new.
(g_xim_encodinginfo_free): new.
(g_xim_encodinginfo_get_string): new.
(g_xim_encodinginfo_get_length): new.
(g_xim_encodinginfo_put_to_stream): new.
(g_xim_encodinginfo_get_from_stream): new.
* libgxim/gximcore.[ch]: Too much changes. get rid of X deps to be
comfortable with Gdk.
2008-07-08 Akira TAGOH <akira@tagoh.org>
* libgxim/gximtypes.h (enum _GXimValueType): Add internal value type.
* libgxim/gximcore.[ch]: core class for XIM event handling.
* libgxim/gximtransport.c (g_xim_transport_destroy): new to destroy
objects stored in the GObject.
2008-07-07 Akira TAGOH <akira@tagoh.org>
* libgxim/gximtransport.c (g_xim_transport_dump): show visible chars.
* libgxim/gximmisc.c (g_xim_init): activate the messaging facility
if LIBGXIM_DEBUG env is given.
(g_xim_gtype_to_value_type): new.
(g_xim_ximstyles_get_type): new.
(g_xim_ximstyles_get_error_quark): new.
(g_xim_ximstyles_new): new.
(g_xim_ximstyles_append): new.
(g_xim_ximstyles_copy): new.
(g_xim_ximstyles_free): new.
(g_xim_ximstyles_put_to_stream): new.
2008-07-01 Akira TAGOH <akira@tagoh.org>
* libgxim/gximtransport.[ch]: transport layer class.
2008-06-26 Akira TAGOH <akira@tagoh.org>
* tests/gximmisc.c (test_g_xim_init): unref the main loop.
* tests/gximmessage.c (test_g_xim_message_bug): new testcase.
* libgxim/gximmessage.h (g_xim_message_bug): new macro.
* libgxim/gximmessage.c (g_xim_message_real_set_property): Fix a typo.
(g_xim_message_vprintf): output the log anyway if no filters given.
(g_xim_message_printf): output the priority logs even if the service
isn't activated.
* configure.ac: Add a dbus-glib-1 required.
* tests/main.[ch]: common utility for unit testing.
* tests/gximmessage.c: testcase for GXimMessage.
* tests/gximmisc.c: testcase for gximmisc.c
* libgxim/gximmisc.c (g_xim_init): new function to setup the master
messaging facility.
(g_xim_finalize): new to finalize.
* libgxim/gximmessage.c: Update a lot to have a better machanism to
sync up among objects and allow to update the state via D-Bus.
(g_xim_message_sync): removed.
2008-06-19 Akira TAGOH <akira@tagoh.org>
* libgxim/mkacc.rb: helper tool to generate accumulator.
* libgxim/gximmessage.[ch]: new class to deal with the message handling.
2008-06-09 Akira TAGOH <akira@tagoh.org>
* libgxim/gximmisc.c (g_xim_str_conv_set_feedback): new function.
(g_xim_str_conv_get_feedback): likewise.
2008-06-06 Akira TAGOH <akira@tagoh.org>
* Makefile.am (ACLOCAL_AMFLAGS): Add aclocal option.
* configure.ac (AX_CFLAGS_GCC_OPTION): Add -fdiagnostics-show-option
checking for debugging purpose.
* libgxim/gximmisc.[ch]: miscellaneous functions.
* libgxim/gximerror.c (g_xim_error_pop): Fix a typo.
* libgxim/gximtypes.h: type definitions.
* libgxim/gximtransport.[ch]: transport layer interface class.
* configure.ac (AX_CFLAGS_GCC_OPTION): check -fno-strict-aliasing to
avoid an error for G_LOCK when --enable-compile-warnings=error is given.
* m4macros/ax_cflags_gcc_option.m4: new from
http://ac-archive.sourceforge.net/guidod/ax_cflags_gcc_option.html
2008-05-02 Akira TAGOH <akira@tagoh.org>
* requires (GTHREAD_REQUIRED): Add gthread requirement.
* configure.ac: Add --{enable,disable}-rebuilds option.
* libgxim/gximerror.[ch]: error handling functions.