diff --git a/ChangeLog b/ChangeLog index e936fe595d..ac722ed80a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-03-06 Jihoon Kim (jihoon) + + * Edje entry: fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state + + 2013-03-05 Jiyoun Park (Jypark) * Ecore_x: Add atom related with indicator type. diff --git a/NEWS b/NEWS index 45b0ef49e6..365c199f89 100644 --- a/NEWS +++ b/NEWS @@ -187,3 +187,4 @@ Fixes: * fix custom states for edje SPACER parts * fix edje program filters * fix dangling pointer problem related with shmget fail + * fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state diff --git a/configure.ac b/configure.ac index e1c90cda9e..79d562b4f1 100644 --- a/configure.ac +++ b/configure.ac @@ -3134,18 +3134,33 @@ EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}], [EEZE_MOUNT], [mount >= 2.18.0]) EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}]) +PKG_CHECK_EXISTS([mount < 2.19.0], + [have_libmount_old="yes"], + [have_libmount_old="no"]) +AC_MSG_CHECKING([Use old libmount API (before 2.19.0)]) +AC_MSG_RESULT([${have_libmount_old}]) + +PKG_CHECK_EXISTS([mount == 2.19.0], + [have_libmount_219="yes"], + [have_libmount_219="no"]) +AC_MSG_CHECKING([Use libmount 2.19.0 API]) +AC_MSG_RESULT([${have_libmount_219}]) + PKG_CHECK_EXISTS([mount > 2.19.0], [have_libmount_new="yes"], [have_libmount_new="no"]) -AC_MSG_CHECKING([Use new libmount API (older that 2.19.0)]) +AC_MSG_CHECKING([Use new libmount API (older than 2.19.0)]) AC_MSG_RESULT([${have_libmount_new}]) -AM_CONDITIONAL([EEZE_LIBMOUNT_NEW], [test "x${have_libmount_new}" = "xyes"]) -if test "x${have_libmount_new}" = "xno"; then +AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219], + [test "x${have_libmount_new}" = "xyes"]) +if test "x${have_libmount_old}" = "xyes"; then AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount]) fi -AM_CONDITIONAL([EEZE_NOLIBMOUNT], [test "x${have_eeze_mount}" = "xno"]) +AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219], + [test "x${have_libmount_old}" = "xyes"]) +AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"]) ## modules if test "${want_tizen}" = "yes"; then diff --git a/src/Makefile_Eeze.am b/src/Makefile_Eeze.am index 48080877f2..49df4a565e 100644 --- a/src/Makefile_Eeze.am +++ b/src/Makefile_Eeze.am @@ -9,15 +9,10 @@ installed_eezemainheadersdir = $(includedir)/eeze-@VMAJ@ dist_installed_eezemainheaders_DATA = \ lib/eeze/Eeze.h \ lib/eeze/Eeze_Net.h \ -lib/eeze/Eeze_Sensor.h \ -lib/eeze/Eeze_Disk.h +lib/eeze/Eeze_Sensor.h # libeeze.la lib_eeze_libeeze_la_SOURCES = \ -lib/eeze/eeze_disk.c \ -lib/eeze/eeze_disk_mount.c \ -lib/eeze/eeze_disk_private.h \ -lib/eeze/eeze_disk_udev.c \ lib/eeze/eeze_main.c \ lib/eeze/eeze_net.c \ lib/eeze/eeze_net_private.h \ @@ -30,13 +25,21 @@ lib/eeze/eeze_udev_syspath.c \ lib/eeze/eeze_udev_walk.c \ lib/eeze/eeze_udev_watch.c -if EEZE_NOLIBMOUNT -lib_eeze_libeeze_la_SOURCES += lib/eeze/eeze_disk_libmount.c +if HAVE_EEZE_MOUNT +lib_eeze_libeeze_la_SOURCES += \ +lib/eeze/eeze_disk.c \ +lib/eeze/eeze_disk_udev.c \ +lib/eeze/eeze_disk_mount.c \ +lib/eeze/eeze_disk_private.h +dist_installed_eezemainheaders_DATA += lib/eeze/Eeze_Disk.h +if EEZE_LIBMOUNT_BEFORE_219 +lib_eeze_libeeze_la_SOURCES += lib/eeze/eeze_disk_libmount_old.c else -if EEZE_LIBMOUNT_NEW +if EEZE_LIBMOUNT_AFTER_219 lib_eeze_libeeze_la_SOURCES += lib/eeze/eeze_disk_libmount_new.c else -lib_eeze_libeeze_la_SOURCES += lib/eeze/eeze_disk_libmount_old.c +lib_eeze_libeeze_la_SOURCES += lib/eeze/eeze_disk_libmount.c +endif endif endif diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c index f2957b0ee6..f5f1a5924c 100644 --- a/src/lib/ecore_wayland/ecore_wl.c +++ b/src/lib/ecore_wayland/ecore_wl.c @@ -122,8 +122,7 @@ ecore_wl_init(const char *name) _ecore_wl_disp->fd = wl_display_get_fd(_ecore_wl_disp->wl.display); _ecore_wl_disp->fd_hdl = - ecore_main_fd_handler_add(_ecore_wl_disp->fd, - ECORE_FD_READ, + ecore_main_fd_handler_add(_ecore_wl_disp->fd, ECORE_FD_READ, _ecore_wl_cb_handle_data, _ecore_wl_disp, NULL, NULL); @@ -139,8 +138,6 @@ ecore_wl_init(const char *name) wl_registry_add_listener(_ecore_wl_disp->wl.registry, &_ecore_wl_registry_listener, _ecore_wl_disp); - wl_display_dispatch(_ecore_wl_disp->wl.display); - if (!_ecore_wl_xkb_init(_ecore_wl_disp)) { ERR("Could not initialize XKB"); @@ -336,10 +333,8 @@ _ecore_wl_cb_idle_enterer(void *data) ret = wl_display_flush(ewd->wl.display); if ((ret < 0) && (errno == EAGAIN)) - { - ecore_main_fd_handler_active_set(ewd->fd_hdl, - (ECORE_FD_READ | ECORE_FD_WRITE)); - } + ecore_main_fd_handler_active_set(ewd->fd_hdl, + (ECORE_FD_READ | ECORE_FD_WRITE)); else if (ret < 0) { /* FIXME: need do error processing? */ diff --git a/src/lib/edbus/edbus_core.c b/src/lib/edbus/edbus_core.c index 6f8daf8d7f..b7a77ea695 100644 --- a/src/lib/edbus/edbus_core.c +++ b/src/lib/edbus/edbus_core.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include "edbus_private.h" #include "edbus_private_types.h" #include diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 083b997dce..01682ff4b7 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1230,12 +1230,20 @@ _edje_key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, ECORE_IMF_EVENT_KEY_DOWN, (Ecore_IMF_Event *)&ecore_ev); - if (!strcmp(ev->keyname, "Down") || - (!strcmp(ev->keyname, "KP_Down") && !ev->string) || - !strcmp(ev->keyname, "Up") || - (!strcmp(ev->keyname, "KP_Up") && !ev->string)) + if (en->have_preedit) { - if (en->have_preedit) + if (!strcmp(ev->keyname, "Down") || + (!strcmp(ev->keyname, "KP_Down") && !ev->string) || + !strcmp(ev->keyname, "Up") || + (!strcmp(ev->keyname, "KP_Up") && !ev->string) || + !strcmp(ev->keyname, "Next") || + (!strcmp(ev->keyname, "KP_Next") && !ev->string) || + !strcmp(ev->keyname, "Prior") || + (!strcmp(ev->keyname, "KP_Prior") && !ev->string) || + !strcmp(ev->keyname, "Home") || + (!strcmp(ev->keyname, "KP_Home") && !ev->string) || + !strcmp(ev->keyname, "End") || + (!strcmp(ev->keyname, "KP_End") && !ev->string)) ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; } diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h index 0dc6490abf..867d26a13f 100644 --- a/src/lib/eo/Eo.h +++ b/src/lib/eo/Eo.h @@ -151,24 +151,23 @@ EAPI extern const Eina_Value_Type *EO_DBG_INFO_TYPE; typedef struct _Eo_Dbg_Info Eo_Dbg_Info; /** - * @def EO_DBG_INFO_LIST_APPEND * Creates a list inside debug info list. - * @param[in] LIST list where to append - * @param[in] NAME name of the list + * @param[in] list list where to append + * @param[in] name name of the list * @return the new list */ -#define EO_DBG_INFO_LIST_APPEND(LIST, NAME) \ -({ \ - Eo_Dbg_Info *List = LIST; \ - Eo_Dbg_Info *Tmp = calloc(1, sizeof(*Tmp)); \ - Tmp->name = eina_stringshare_add(NAME); \ - eina_value_list_setup(&(Tmp->value), EO_DBG_INFO_TYPE); \ - if (List) \ - { \ - eina_value_list_pappend(&(List->value), Tmp); \ - } \ - Tmp; \ -}) +static inline Eo_Dbg_Info * +EO_DBG_INFO_LIST_APPEND(Eo_Dbg_Info *list, const char *name) +{ + Eo_Dbg_Info *tmp = (Eo_Dbg_Info *)calloc(1, sizeof(*tmp)); + tmp->name = eina_stringshare_add(name); + eina_value_list_setup(&(tmp->value), EO_DBG_INFO_TYPE); + if (list) + { + eina_value_list_pappend(&(list->value), tmp); + } + return tmp; +} /** * @def EO_DBG_INFO_APPEND