/[winpt]/trunk/Src/wptClipboard.cpp
ViewVC logotype

Diff of /trunk/Src/wptClipboard.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 464 by twoaday, Sat Oct 6 10:27:59 2012 UTC revision 465 by twoaday, Tue Oct 9 09:28:15 2012 UTC
# Line 205  get_w32_clip_text (void) Line 205  get_w32_clip_text (void)
205  }  }
206    
207    
208  static void  static gpgme_error_t
209  set_clip_text(wchar_t *data, size_t size)  set_clip_text(wchar_t *data, size_t size)
210  {  {
211      OpenClipboard(NULL);      if (!OpenClipboard(NULL))
212      HANDLE cb = GlobalAlloc(GHND, size * sizeof(wchar_t));          return gpg_error(GPG_ERR_INTERNAL);
213        
214        HANDLE cb = GlobalAlloc(GHND, size * sizeof(wchar_t));    
215      wchar_t *ptr = (wchar_t*)GlobalLock(cb);      wchar_t *ptr = (wchar_t*)GlobalLock(cb);
216      EmptyClipboard();      if (ptr != NULL) {
217      memcpy(ptr, data, size * sizeof(wchar_t));          EmptyClipboard();
218      SetClipboardData(CF_UNICODETEXT, cb);          memcpy(ptr, data, size * sizeof(wchar_t));
219      GlobalUnlock(ptr);          SetClipboardData(CF_UNICODETEXT, cb);
220            GlobalUnlock(ptr);
221        }
222      CloseClipboard();      CloseClipboard();
223      GlobalFree(cb);      GlobalFree(cb);
224        return gpg_error(GPG_ERR_NO_ERROR);
225  }  }
226    
227    
228  /* Set the new clipboard data to @data. */  /* Set the new clipboard data to @data. */
229  static void  static gpgme_error_t
230  set_w32_clip_text (const char *data, int size)  set_w32_clip_text (const char *data, int size)
231  {  {
232      HANDLE cb;      HANDLE cb;
233      char *private_data;      char *private_data;
234            
235      if (!OpenClipboard(NULL))      if (!OpenClipboard(NULL))
236          return;                  return gpg_error(GPG_ERR_INTERNAL);
237      cb = GlobalAlloc (GHND, size+1);      cb = GlobalAlloc (GHND, size+1);
238      if (!cb)      if (!cb)
239          BUG (NULL);          BUG (NULL);
# Line 243  set_w32_clip_text (const char *data, int Line 248  set_w32_clip_text (const char *data, int
248            
249      CloseClipboard ();      CloseClipboard ();
250      GlobalFree (cb);      GlobalFree (cb);
251        return gpg_error(GPG_ERR_NO_ERROR);
252  }  }
253    
254    

Legend:
Removed from v.464  
changed lines
  Added in v.465

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26