diff --git a/src/plugins/dbus3270/gobject.c b/src/plugins/dbus3270/gobject.c
index 22c5a71..ecec062 100644
--- a/src/plugins/dbus3270/gobject.c
+++ b/src/plugins/dbus3270/gobject.c
@@ -314,7 +314,7 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus
}
}
- void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, DBusGMethodInvocation *context)
+ void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, char lf, DBusGMethodInvocation *context)
{
gchar * text;
H3270 * hSession = pw3270_dbus_get_session_handle(object);
@@ -323,7 +323,11 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus
if(pw3270_dbus_check_valid_state(object,context))
return;
- text = lib3270_get_text(hSession,offset,len,'\n');
+ if(len < 0) {
+ len = lib3270_get_length(hSession);
+ }
+
+ text = lib3270_get_text(hSession,offset,len,lf);
if(!text)
{
GError *error = pw3270_dbus_get_error_from_errno(errno);
@@ -336,6 +340,8 @@ void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBus
lib3270_free(text);
+ debug("\n%s\n",utftext);
+
dbus_g_method_return(context,utftext);
g_free(utftext);
diff --git a/src/plugins/dbus3270/pw3270dbus.xml b/src/plugins/dbus3270/pw3270dbus.xml
index dc310b7..f289efc 100644
--- a/src/plugins/dbus3270/pw3270dbus.xml
+++ b/src/plugins/dbus3270/pw3270dbus.xml
@@ -79,6 +79,7 @@
+
diff --git a/src/plugins/dbus3270/service.h b/src/plugins/dbus3270/service.h
index 57d8f86..a98d382 100644
--- a/src/plugins/dbus3270/service.h
+++ b/src/plugins/dbus3270/service.h
@@ -113,7 +113,7 @@
void pw3270_dbus_pa_key(PW3270Dbus *object, int key, DBusGMethodInvocation *context);
void pw3270_dbus_set_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context);
void pw3270_dbus_get_text_at(PW3270Dbus *object, int row, int col, int len, DBusGMethodInvocation *context);
- void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, DBusGMethodInvocation *context);
+ void pw3270_dbus_get_text(PW3270Dbus *object, int offset, int len, char lf, DBusGMethodInvocation *context);
void pw3270_dbus_cmp_text_at(PW3270Dbus *object, int row, int col, const gchar *text, DBusGMethodInvocation *context);
void pw3270_dbus_input(PW3270Dbus *object, const gchar *utftext, DBusGMethodInvocation *context);
diff --git a/src/plugins/dbus3270/test.sh b/src/plugins/dbus3270/test.sh
index 39e7a5c..54bd912 100755
--- a/src/plugins/dbus3270/test.sh
+++ b/src/plugins/dbus3270/test.sh
@@ -41,6 +41,10 @@ run_command()
dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getScreenContents
;;
+ gettext)
+ dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getText int32:1 int32:-1 byte:0
+ ;;
+
protect)
dbus-send --session --print-reply --dest=$DEST.$SESSION $BPATH $DEST.getIsProtectedAt int32:$2 int32:$3
;;
--
libgit2 0.21.2