This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMU Common Lisp".
The branch, rtoy-clm-text-callback has been created at 6c4a96760e4fcd9a03c3a2ae2d4d41369d9caf39 (commit)
- Log ----------------------------------------------------------------- commit 6c4a96760e4fcd9a03c3a2ae2d4d41369d9caf39 Merge: 2dd94c9 b16eb20 Author: Raymond Toy toy.raymond@gmail.com Date: Sat Oct 25 10:50:05 2014 -0700
Merge branch 'clm-text-callback' of /Volumes/share2/src/clnet/rkreuter/cmucl into rtoy-clm-text-callback
commit b16eb2050e77c6fba3eb438d7a2317aa64cee778 Author: Richard M Kreuter kreuter@progn.net Date: Wed Sep 17 20:41:06 2014 -0400
Remove some printf debugging in write_text_callback.
diff --git a/src/motif/server/callbacks.c b/src/motif/server/callbacks.c index 832b019..d6ded37 100644 --- a/src/motif/server/callbacks.c +++ b/src/motif/server/callbacks.c @@ -207,8 +207,6 @@ void write_text_callback(message_t reply,XmTextVerifyCallbackStruct *info) message_write_int(reply,info->endPos,int_tag); } else if( info->reason == XmCR_MODIFYING_TEXT_VALUE ) { - printf("modifying_text_value: %s ; length=%d\n",info->text->ptr, - info->text->length); message_write_int(reply,info->startPos,int_tag); message_write_int(reply,info->endPos,int_tag); if (info->text->ptr==NULL) @@ -217,9 +215,6 @@ void write_text_callback(message_t reply,XmTextVerifyCallbackStruct *info) really_write_string(reply,info->text->ptr,info->text->length+1); /* ***** Perhaps this should be an enumerated type ***** */ message_write_int(reply,info->text->format,int_tag); - // printf("modifying_text_value: %s ; length=%d\n",info->text->ptr, - // info->text->length); - fflush(stdout); } } }
commit 3c56ee77a02d7379a1de77a8919375debfe856d3 Author: Richard M Kreuter kreuter@progn.net Date: Wed Sep 17 20:36:01 2014 -0400
Fix bugs around XmTextField's callbacks.
* On the motifd side, writing callbacks with reason XmCR_MODIFYING_TEXT_VALUE would segfault when the text was NULL (e.g., due to backspacing).
* On the Lisp side, decoding of callbacks in READ-CALLBACK-INFO used the :TEXT for the widget-type, when the correct type is :TEXT-FIELD.
diff --git a/src/motif/lisp/callbacks.lisp b/src/motif/lisp/callbacks.lisp index fe7c975..688a9c5 100644 --- a/src/motif/lisp/callbacks.lisp +++ b/src/motif/lisp/callbacks.lisp @@ -326,7 +326,7 @@ (setf (list-callback-selection-type info) (toolkit-read-value reply))) info)) - (:text + (:text-field (let ((info (make-text-callback reason event))) (when (member reason '(:cr-losing-focus :cr-modifying-text-value :cr-moving-insert-cursor)) diff --git a/src/motif/server/callbacks.c b/src/motif/server/callbacks.c index d0852c4..832b019 100644 --- a/src/motif/server/callbacks.c +++ b/src/motif/server/callbacks.c @@ -207,13 +207,18 @@ void write_text_callback(message_t reply,XmTextVerifyCallbackStruct *info) message_write_int(reply,info->endPos,int_tag); } else if( info->reason == XmCR_MODIFYING_TEXT_VALUE ) { + printf("modifying_text_value: %s ; length=%d\n",info->text->ptr, + info->text->length); message_write_int(reply,info->startPos,int_tag); message_write_int(reply,info->endPos,int_tag); - really_write_string(reply,info->text->ptr,info->text->length+1); + if (info->text->ptr==NULL) + really_write_string(reply,"",1); + else + really_write_string(reply,info->text->ptr,info->text->length+1); /* ***** Perhaps this should be an enumerated type ***** */ message_write_int(reply,info->text->format,int_tag); - printf("modifying_text_value: %s ; length=%d\n",info->text->ptr, - info->text->length); + // printf("modifying_text_value: %s ; length=%d\n",info->text->ptr, + // info->text->length); fflush(stdout); } }
-----------------------------------------------------------------------
hooks/post-receive