This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch modules/convertible
in repository enlightenment.
View the commit online.
commit 3fa8018959cedafa17df2a34bed22cb5a61f1fb0
Author: rafspiny <rafsp...@gmail.com>
AuthorDate: Tue Nov 14 19:12:50 2023 +0100
WIP
---
src/modules/convertible/dbus_acceleration.c | 62 +++++++++++++++-----------
src/modules/convertible/e-gadget-convertible.c | 15 +------
src/modules/convertible/e_mod_main.c | 24 +++++-----
3 files changed, 50 insertions(+), 51 deletions(-)
diff --git a/src/modules/convertible/dbus_acceleration.c b/src/modules/convertible/dbus_acceleration.c
index 6111c69ed..3dbb1a6db 100644
--- a/src/modules/convertible/dbus_acceleration.c
+++ b/src/modules/convertible/dbus_acceleration.c
@@ -110,41 +110,49 @@ Eldbus_Proxy *get_dbus_interface(const char *IFACE)
return sensor_proxy;
}
-enum screen_rotation access_string_property(const Eldbus_Message *msg, Eldbus_Message_Iter **variant, Eina_Bool* result)
+enum screen_rotation access_string_property(const Eldbus_Message *msg, Eina_Bool* result)
{
- const char *type = NULL;
+ char *type = NULL;
*result = EINA_TRUE;
+ Eldbus_Message_Iter *variant = NULL;
- if (!eldbus_message_arguments_get(msg, "v", variant))
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
{
WARN("Error getting arguments.");
*result = EINA_FALSE;
}
- type = eldbus_message_iter_signature_get((*variant));
+ type = eldbus_message_iter_signature_get(variant);
if (type == NULL)
{
WARN("Unable to get the type.");
*result = EINA_FALSE;
+ free(type);
return undefined;
}
- type = eldbus_message_iter_signature_get((*variant));
- if (type[1])
+ if (type[0] != 's')
{
- WARN("It is a complex type, not handle yet.");
+ WARN("Expected type is string(s).");
*result = EINA_FALSE;
+ free(type);
+ return undefined;
}
- if (type[0] != 's')
+ if (type[1])
{
- WARN("Expected type is string(s).");
+ WARN("It is a complex type, not handle yet.");
*result = EINA_FALSE;
}
+
+ DBG("Before assign");
const char **string_property_value = calloc(PATH_MAX, sizeof(char));
- if (!eldbus_message_iter_arguments_get((*variant), "s", string_property_value))
+ if (!eldbus_message_iter_arguments_get(variant, "s", string_property_value))
{
WARN("error in eldbus_message_iter_arguments_get()");
*result = EINA_FALSE;
}
+ DBG("After assign");
+ DBG("Value of assign %s", *string_property_value);
+ DBG("FINE");
enum screen_rotation rotation = undefined;
if (strcmp(ACCELEROMETER_ORIENTATION_RIGHT, *string_property_value) == 0)
@@ -162,35 +170,38 @@ enum screen_rotation access_string_property(const Eldbus_Message *msg, Eldbus_Me
}
Eina_Bool
-access_bool_property(const Eldbus_Message *msg, Eldbus_Message_Iter **variant, Eina_Bool *boolean_property_value)
+access_bool_property(const Eldbus_Message *msg, Eina_Bool *boolean_property_value)
{
- const char *type;
+ char *type;
Eina_Bool res = EINA_TRUE;
+ Eldbus_Message_Iter *variant = NULL;
- if (!eldbus_message_arguments_get(msg, "v", variant))
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
{
WARN("Error getting arguments.");
res = EINA_FALSE;
}
- type = eldbus_message_iter_signature_get((*variant));
+ type = eldbus_message_iter_signature_get(variant);
if (type == NULL)
{
WARN("Unable to get the type.");
res = EINA_FALSE;
+ free(type);
return res;
}
-
- if (type[1])
+ if (type[0] != 'b')
{
- WARN("It is a complex type, not handle yet.");
+ WARN("Expected type is int.");
res = EINA_FALSE;
+ free(type);
+ return res;
}
- if (type[0] != 'b')
+ if (type[1])
{
- WARN("Expected type is int.");
+ WARN("It is a complex type, not handle yet.");
res = EINA_FALSE;
}
- if (!eldbus_message_iter_arguments_get((*variant), "b", boolean_property_value))
+ if (!eldbus_message_iter_arguments_get(variant, "b", boolean_property_value))
{
WARN("error in eldbus_message_iter_arguments_get()");
res = EINA_FALSE;
@@ -204,14 +215,13 @@ on_has_accelerometer(void *data, const Eldbus_Message *msg, Eldbus_Pending *pend
{
const char *errname, *errmsg;
Eina_Bool has_accelerometer = EINA_FALSE;
- Eldbus_Message_Iter *variant = NULL;
if (eldbus_message_error_get(msg, &errname, &errmsg))
{
ERR("Error: %s %s", errname, errmsg);
}
- access_bool_property(msg, &variant, &has_accelerometer);
+ access_bool_property(msg, &has_accelerometer);
DbusAccelerometer *accelerometer = (DbusAccelerometer *) data;
accelerometer->has_accelerometer = has_accelerometer;
DBG("Has Accelerometer: %d", accelerometer->has_accelerometer);
@@ -221,7 +231,7 @@ void
on_accelerometer_orientation(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
{
INF("New orientation received");
- Instance *inst = (Instance *) data;
+ Instance *inst = data;
if (inst->locked_position == EINA_TRUE)
{
@@ -232,7 +242,6 @@ on_accelerometer_orientation(void *data, const Eldbus_Message *msg, Eldbus_Pendi
const char *errname, *errmsg;
enum screen_rotation orientation;
- Eldbus_Message_Iter *variant = NULL;
Eina_Bool* result = calloc(1, sizeof(Eina_Bool));
if (eldbus_message_error_get(msg, &errname, &errmsg))
@@ -327,6 +336,7 @@ int _fetch_X_device_input_number()
{
dev_number = dev_counter;
DBG("Setting device: %d", dev_number);
+ break;
}
iterator++;
}
@@ -354,6 +364,7 @@ int _is_device_a_touch_pointer(int dev_counter, int num_properties, char **itera
}
DBG("Looks like I found a device with calibration capabilities");
is_correct_device = EINA_TRUE;
+ free(result);
}
iterator++;
}
@@ -365,7 +376,7 @@ void _fetch_and_rotate_screen(const char* randr_id, enum screen_rotation orienta
E_Randr2_Screen *rotatable_screen = e_randr2_screen_id_find(randr_id);
E_Config_Randr2_Screen *screen_randr_cfg = e_randr2_config_screen_find(rotatable_screen, e_randr2_cfg);
int rotation = _convertible_rotation_get(orientation);
- DBG("Screen %s is going to be rotated to %d", randr_id, rotation);
+ DBG("Screen %s is going to be rotated from %d to %d", randr_id, screen_randr_cfg->rotation, rotation);
if (rotation == screen_randr_cfg->rotation)
{
@@ -405,6 +416,7 @@ void _fetch_and_rotate_screen(const char* randr_id, enum screen_rotation orienta
} else {
ERR("Unable to fetch coordinates transformation matrix for device %d", x_dev_num);
}
+ free(result);
free(matrix);
}
}
diff --git a/src/modules/convertible/e-gadget-convertible.c b/src/modules/convertible/e-gadget-convertible.c
index 8030bc4ca..ad67bb932 100644
--- a/src/modules/convertible/e-gadget-convertible.c
+++ b/src/modules/convertible/e-gadget-convertible.c
@@ -11,7 +11,7 @@ static Eina_List *instances = NULL;
void _update_instances(const Instance *current_instance)
{
Eina_List *l;
- Instance *instance = NULL;
+ Instance *instance;
EINA_LIST_FOREACH(instances, l, instance)
{
if (current_instance != instance)
@@ -43,19 +43,6 @@ void _keyboard_signal_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, c
DBG("Keyboard: Signal %s received from %s", sig, src);
}
-
-/**
- * Callback for gadget creation
- * */
-static void
-_gadget_created(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
-{
- DBG("Inside gadget created");
- // do_orient(inst, e_gadget_site_orient_get(obj), e_gadget_site_anchor_get(obj));
- evas_object_smart_callback_del_full(obj, "gadget_created", _gadget_created, NULL);
-}
-
-
void update_instances(Eina_List *new_instances) {
instances = new_instances;
}
diff --git a/src/modules/convertible/e_mod_main.c b/src/modules/convertible/e_mod_main.c
index 1d080e8d0..67b2b4a78 100644
--- a/src/modules/convertible/e_mod_main.c
+++ b/src/modules/convertible/e_mod_main.c
@@ -119,12 +119,12 @@ _gc_shutdown(E_Gadcon_Client *gcc)
static void
_gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
{
- Instance *inst;
+ Instance *current_instance;
Evas_Coord mw, mh;
- char buf[4096];
+ char buf[PATH_MAX];
const char *s = "float";
- inst = gcc->data;
+ current_instance = gcc->data;
switch (orient)
{
case E_GADCON_ORIENT_FLOAT:
@@ -191,13 +191,13 @@ _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient orient)
break;
}
snprintf(buf, sizeof(buf), "e,state,orientation,%s", s);
- edje_object_signal_emit(inst->o_button, buf, "e");
- edje_object_message_signal_process(inst->o_button);
+ edje_object_signal_emit(current_instance->o_button, buf, "e");
+ edje_object_message_signal_process(current_instance->o_button);
mw = 0, mh = 0;
- edje_object_size_min_get(inst->o_button, &mw, &mh);
+ edje_object_size_min_get(current_instance->o_button, &mw, &mh);
if ((mw < 1) || (mh < 1))
- edje_object_size_min_calc(inst->o_button, &mw, &mh);
+ edje_object_size_min_calc(current_instance->o_button, &mw, &mh);
if (mw < 4) mw = 4;
if (mh < 4) mh = 4;
e_gadcon_client_aspect_set(gcc, mw, mh);
@@ -225,7 +225,7 @@ _gc_icon(const E_Gadcon_Client_Class *client_class EINA_UNUSED, Evas *evas)
static const char *
_gc_id_new(const E_Gadcon_Client_Class *client_class EINA_UNUSED)
{
- static char buf[4096];
+ static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(instances) + 1);
@@ -239,16 +239,16 @@ _gc_id_new(const E_Gadcon_Client_Class *client_class EINA_UNUSED)
static void
_cb_properties_changed(void *data, const Eldbus_Message *msg)
{
- Instance *inst = (Instance *) data;
+ Instance *current_instance = (Instance *) data;
Eldbus_Message_Iter *array, *invalidate;
char *iface;
if (!eldbus_message_arguments_get(msg, "sa{sv}as", &iface, &array, &invalidate))
ERR("Error getting data from properties changed signal.");
// Given that the property changed, let's get the new value
- Eldbus_Pending *pending_operation = eldbus_proxy_property_get(inst->accelerometer->sensor_proxy,
+ Eldbus_Pending *pending_operation = eldbus_proxy_property_get(current_instance->accelerometer->sensor_proxy,
"AccelerometerOrientation",
- on_accelerometer_orientation, inst);
+ on_accelerometer_orientation, current_instance);
if (!pending_operation)
ERR("Error: could not get property AccelerometerOrientation");
}
@@ -305,7 +305,7 @@ e_modapi_init(E_Module *m)
// Arbitrarily chosen a condition to check that rotation is enabled
if (screen->info.can_rot_90 == EINA_TRUE)
{
- int max_screen_length = 300;
+ int max_screen_length = 400;
char *randr2_id = malloc(sizeof(char) * max_screen_length);
int copied_chars = eina_strlcpy(randr2_id, zone->randr2_id, max_screen_length);
if (copied_chars > max_screen_length)
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.