… | |
… | |
2735 | selection.op = SELECTION_DONE; |
2735 | selection.op = SELECTION_DONE; |
2736 | /* FALLTHROUGH */ |
2736 | /* FALLTHROUGH */ |
2737 | default: |
2737 | default: |
2738 | return; |
2738 | return; |
2739 | } |
2739 | } |
|
|
2740 | |
2740 | selection.op = SELECTION_DONE; |
2741 | selection.op = SELECTION_DONE; |
2741 | |
2742 | |
2742 | if (selection.clicks == 4) |
2743 | if (selection.clicks == 4) |
2743 | return; /* nothing selected, go away */ |
2744 | return; /* nothing selected, go away */ |
2744 | |
2745 | |
… | |
… | |
2795 | { |
2796 | { |
2796 | free (new_selection_text); |
2797 | free (new_selection_text); |
2797 | return; |
2798 | return; |
2798 | } |
2799 | } |
2799 | |
2800 | |
2800 | // due to MB_MAX_CUR, selection wastage is usually high, so realloc |
2801 | // due to MB_CUR_MAX, selection wastage is usually high, so realloc |
2801 | if (str - (char *)new_selection_text > 1024) |
2802 | if (str - (char *)new_selection_text > 1024) |
2802 | new_selection_text = (unsigned char *)rxvt_realloc (new_selection_text, i + 1); |
2803 | new_selection_text = (unsigned char *)rxvt_realloc (new_selection_text, i + 1); |
2803 | |
2804 | |
2804 | selection.len = i; |
2805 | selection.len = i; |
2805 | |
2806 | |
… | |
… | |
2819 | char *cl = (char *)selection.text; |
2820 | char *cl = (char *)selection.text; |
2820 | |
2821 | |
2821 | if (XmbTextListToTextProperty (display->display, &cl, 1, XStringStyle, &ct) >= 0) |
2822 | if (XmbTextListToTextProperty (display->display, &cl, 1, XStringStyle, &ct) >= 0) |
2822 | { |
2823 | { |
2823 | XChangeProperty (display->display, display->root, XA_CUT_BUFFER0, XA_STRING, 8, |
2824 | XChangeProperty (display->display, display->root, XA_CUT_BUFFER0, XA_STRING, 8, |
2824 | PropModeReplace, ct.value, ct.nitems); |
2825 | PropModeReplace, ct.value, ct.nitems); |
2825 | XFree (ct.value); |
2826 | XFree (ct.value); |
2826 | } |
2827 | } |
2827 | else |
2828 | else |
2828 | XChangeProperty (display->display, display->root, XA_CUT_BUFFER0, XA_STRING, 8, |
2829 | XChangeProperty (display->display, display->root, XA_CUT_BUFFER0, XA_STRING, 8, |
2829 | PropModeReplace, selection.text, (int)selection.len); |
2830 | PropModeReplace, selection.text, (int)selection.len); |
2830 | } |
2831 | } |
2831 | |
2832 | |
2832 | selection_time = tm; |
2833 | selection_time = tm; |
2833 | D_SELECT ((stderr, "rxvt_selection_make (): selection.len=%d", selection.len)); |
2834 | D_SELECT ((stderr, "rxvt_selection_make (): selection.len=%d", selection.len)); |
2834 | } |
2835 | } |