1 |
darkside 12/01/12 00:27:24 |
2 |
|
3 |
Added: synergy-1.4.5-clipboard-fix.patch |
4 |
Log: |
5 |
Revbump to fix clipboard issue, bug 397549 by Patrick |
6 |
|
7 |
(Portage version: 2.1.10.41/cvs/Linux i686) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 x11-misc/synergy/files/synergy-1.4.5-clipboard-fix.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/synergy/files/synergy-1.4.5-clipboard-fix.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/x11-misc/synergy/files/synergy-1.4.5-clipboard-fix.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: synergy-1.4.5-clipboard-fix.patch |
16 |
=================================================================== |
17 |
https://bugs.gentoo.org/show_bug.cgi?id=397549 |
18 |
http://synergy-foss.org/tracker/issues/3066 |
19 |
|
20 |
diff -urN synergy-1.4.5-Source.orig/src/lib/arch/CArch.cpp synergy-1.4.5-Source/src/lib/arch/CArch.cpp |
21 |
--- synergy-1.4.5-Source.orig/src/lib/arch/CArch.cpp 2011-05-08 20:08:58.000000000 -0400 |
22 |
+++ synergy-1.4.5-Source/src/lib/arch/CArch.cpp 2012-01-03 16:31:35.201750077 -0500 |
23 |
@@ -130,6 +130,7 @@ |
24 |
m_log = new ARCH_LOG; |
25 |
m_net = new ARCH_NETWORK; |
26 |
m_sleep = new ARCH_SLEEP; |
27 |
+ initArchString(); |
28 |
m_string = new ARCH_STRING; |
29 |
m_time = new ARCH_TIME; |
30 |
m_console = new ARCH_CONSOLE; |
31 |
diff -urN synergy-1.4.5-Source.orig/src/lib/arch/CArch.cpp.orig synergy-1.4.5-Source/src/lib/arch/CArch.cpp.orig |
32 |
--- synergy-1.4.5-Source.orig/src/lib/arch/CArch.cpp.orig 1969-12-31 19:00:00.000000000 -0500 |
33 |
+++ synergy-1.4.5-Source/src/lib/arch/CArch.cpp.orig 2011-05-08 20:08:58.000000000 -0400 |
34 |
@@ -0,0 +1,681 @@ |
35 |
+/* |
36 |
+ * synergy -- mouse and keyboard sharing utility |
37 |
+ * Copyright (C) 2002 Chris Schoeneman, Nick Bolton, Sorin Sbarnea |
38 |
+ * |
39 |
+ * This package is free software; you can redistribute it and/or |
40 |
+ * modify it under the terms of the GNU General Public License |
41 |
+ * found in the file COPYING that should have accompanied this file. |
42 |
+ * |
43 |
+ * This package is distributed in the hope that it will be useful, |
44 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
45 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
46 |
+ * GNU General Public License for more details. |
47 |
+ * |
48 |
+ * You should have received a copy of the GNU General Public License |
49 |
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. |
50 |
+ */ |
51 |
+ |
52 |
+#include "common.h" |
53 |
+#include "CArch.h" |
54 |
+#include "CLog.h" |
55 |
+ |
56 |
+#undef ARCH_CONSOLE |
57 |
+#undef ARCH_DAEMON |
58 |
+#undef ARCH_FILE |
59 |
+#undef ARCH_LOG |
60 |
+#undef ARCH_MULTITHREAD |
61 |
+#undef ARCH_NETWORK |
62 |
+#undef ARCH_SLEEP |
63 |
+#undef ARCH_STRING |
64 |
+#undef ARCH_SYSTEM |
65 |
+#undef ARCH_TASKBAR |
66 |
+#undef ARCH_TIME |
67 |
+ |
68 |
+// include appropriate architecture implementation |
69 |
+#if SYSAPI_WIN32 |
70 |
+# include "CArchConsoleWindows.h" |
71 |
+# include "CArchDaemonWindows.h" |
72 |
+# include "CArchFileWindows.h" |
73 |
+# include "CArchLogWindows.h" |
74 |
+# include "CArchMiscWindows.h" |
75 |
+# include "CArchMultithreadWindows.h" |
76 |
+# include "CArchNetworkWinsock.h" |
77 |
+# include "CArchSleepWindows.h" |
78 |
+# include "CArchStringWindows.h" |
79 |
+# include "CArchSystemWindows.h" |
80 |
+# include "CArchTaskBarWindows.h" |
81 |
+# include "CArchTimeWindows.h" |
82 |
+# include "CArchAppUtilWindows.h" |
83 |
+#elif SYSAPI_UNIX |
84 |
+# include "CArchConsoleUnix.h" |
85 |
+# include "CArchDaemonUnix.h" |
86 |
+# include "CArchFileUnix.h" |
87 |
+# include "CArchLogUnix.h" |
88 |
+# if HAVE_PTHREAD |
89 |
+# include "CArchMultithreadPosix.h" |
90 |
+# endif |
91 |
+# include "CArchNetworkBSD.h" |
92 |
+# include "CArchSleepUnix.h" |
93 |
+# include "CArchStringUnix.h" |
94 |
+# include "CArchSystemUnix.h" |
95 |
+# include "CArchTaskBarXWindows.h" |
96 |
+# include "CArchTimeUnix.h" |
97 |
+# include "CArchAppUtilUnix.h" |
98 |
+#endif |
99 |
+ |
100 |
+#if !defined(ARCH_CONSOLE) |
101 |
+# error unsupported platform for console |
102 |
+#endif |
103 |
+ |
104 |
+#if !defined(ARCH_DAEMON) |
105 |
+# error unsupported platform for daemon |
106 |
+#endif |
107 |
+ |
108 |
+#if !defined(ARCH_FILE) |
109 |
+# error unsupported platform for file |
110 |
+#endif |
111 |
+ |
112 |
+#if !defined(ARCH_LOG) |
113 |
+# error unsupported platform for logging |
114 |
+#endif |
115 |
+ |
116 |
+#if !defined(ARCH_MULTITHREAD) |
117 |
+# error unsupported platform for multithreading |
118 |
+#endif |
119 |
+ |
120 |
+#if !defined(ARCH_NETWORK) |
121 |
+# error unsupported platform for network |
122 |
+#endif |
123 |
+ |
124 |
+#if !defined(ARCH_SLEEP) |
125 |
+# error unsupported platform for sleep |
126 |
+#endif |
127 |
+ |
128 |
+#if !defined(ARCH_STRING) |
129 |
+# error unsupported platform for string |
130 |
+#endif |
131 |
+ |
132 |
+#if !defined(ARCH_SYSTEM) |
133 |
+# error unsupported platform for system |
134 |
+#endif |
135 |
+ |
136 |
+#if !defined(ARCH_TASKBAR) |
137 |
+# error unsupported platform for taskbar |
138 |
+#endif |
139 |
+ |
140 |
+#if !defined(ARCH_TIME) |
141 |
+# error unsupported platform for time |
142 |
+#endif |
143 |
+ |
144 |
+#if !defined(ARCH_APPUTIL) |
145 |
+# error unsupported platform for app util |
146 |
+#endif |
147 |
+ |
148 |
+// |
149 |
+// CArch |
150 |
+// |
151 |
+ |
152 |
+CArch* CArch::s_instance = NULL; |
153 |
+ |
154 |
+CArch::CArch() |
155 |
+{ |
156 |
+ // only once instance of CArch |
157 |
+ assert(s_instance == NULL); |
158 |
+ s_instance = this; |
159 |
+ |
160 |
+ // create architecture implementation objects |
161 |
+ m_mt = new ARCH_MULTITHREAD; |
162 |
+ m_system = new ARCH_SYSTEM; |
163 |
+ m_file = new ARCH_FILE; |
164 |
+ m_log = new ARCH_LOG; |
165 |
+ m_net = new ARCH_NETWORK; |
166 |
+ m_sleep = new ARCH_SLEEP; |
167 |
+ m_string = new ARCH_STRING; |
168 |
+ m_time = new ARCH_TIME; |
169 |
+ m_console = new ARCH_CONSOLE; |
170 |
+ m_daemon = new ARCH_DAEMON; |
171 |
+ m_taskbar = new ARCH_TASKBAR; |
172 |
+ m_appUtil = new ARCH_APPUTIL; |
173 |
+ |
174 |
+#if SYSAPI_WIN32 |
175 |
+ CArchMiscWindows::init(); |
176 |
+#endif |
177 |
+} |
178 |
+ |
179 |
+CArch::~CArch() |
180 |
+{ |
181 |
+ // clean up |
182 |
+ delete m_taskbar; |
183 |
+ delete m_daemon; |
184 |
+ delete m_console; |
185 |
+ delete m_time; |
186 |
+ delete m_string; |
187 |
+ delete m_sleep; |
188 |
+ delete m_net; |
189 |
+ delete m_log; |
190 |
+ delete m_file; |
191 |
+ delete m_system; |
192 |
+ delete m_mt; |
193 |
+ delete m_appUtil; |
194 |
+ |
195 |
+ // no instance |
196 |
+ s_instance = NULL; |
197 |
+} |
198 |
+ |
199 |
+CArch* |
200 |
+CArch::getInstance() |
201 |
+{ |
202 |
+ assert(s_instance != NULL); |
203 |
+ |
204 |
+ return s_instance; |
205 |
+} |
206 |
+ |
207 |
+void |
208 |
+CArch::openConsole(const char* title) |
209 |
+{ |
210 |
+ m_console->openConsole(title); |
211 |
+} |
212 |
+ |
213 |
+void |
214 |
+CArch::closeConsole() |
215 |
+{ |
216 |
+ m_console->closeConsole(); |
217 |
+} |
218 |
+ |
219 |
+void |
220 |
+CArch::showConsole(bool showIfEmpty) |
221 |
+{ |
222 |
+ m_console->showConsole(showIfEmpty); |
223 |
+} |
224 |
+ |
225 |
+void |
226 |
+CArch::writeConsole(ELevel level, const char* str) |
227 |
+{ |
228 |
+ m_console->writeConsole(level, str); |
229 |
+} |
230 |
+ |
231 |
+void |
232 |
+CArch::installDaemon(const char* name, |
233 |
+ const char* description, |
234 |
+ const char* pathname, |
235 |
+ const char* commandLine, |
236 |
+ const char* dependencies, |
237 |
+ bool allUsers) |
238 |
+{ |
239 |
+ m_daemon->installDaemon(name, description, pathname, |
240 |
+ commandLine, dependencies, allUsers); |
241 |
+} |
242 |
+ |
243 |
+void |
244 |
+CArch::uninstallDaemon(const char* name, bool allUsers) |
245 |
+{ |
246 |
+ m_daemon->uninstallDaemon(name, allUsers); |
247 |
+} |
248 |
+ |
249 |
+int |
250 |
+CArch::daemonize(const char* name, DaemonFunc func) |
251 |
+{ |
252 |
+ return m_daemon->daemonize(name, func); |
253 |
+} |
254 |
+ |
255 |
+bool |
256 |
+CArch::canInstallDaemon(const char* name, bool allUsers) |
257 |
+{ |
258 |
+ return m_daemon->canInstallDaemon(name, allUsers); |
259 |
+} |
260 |
+ |
261 |
+bool |
262 |
+CArch::isDaemonInstalled(const char* name, bool allUsers) |
263 |
+{ |
264 |
+ return m_daemon->isDaemonInstalled(name, allUsers); |
265 |
+} |
266 |
+ |
267 |
+const char* |
268 |
+CArch::getBasename(const char* pathname) |
269 |
+{ |
270 |
+ return m_file->getBasename(pathname); |
271 |
+} |
272 |
+ |
273 |
+std::string |
274 |
+CArch::getUserDirectory() |
275 |
+{ |
276 |
+ return m_file->getUserDirectory(); |
277 |
+} |
278 |
+ |
279 |
+std::string |
280 |
+CArch::getSystemDirectory() |
281 |
+{ |
282 |
+ return m_file->getSystemDirectory(); |
283 |
+} |
284 |
+ |
285 |
+std::string |
286 |
+CArch::concatPath(const std::string& prefix, const std::string& suffix) |
287 |
+{ |
288 |
+ return m_file->concatPath(prefix, suffix); |
289 |
+} |
290 |
+ |
291 |
+void |
292 |
+CArch::openLog(const char* name) |
293 |
+{ |
294 |
+ m_log->openLog(name); |
295 |
+} |
296 |
+ |
297 |
+void |
298 |
+CArch::closeLog() |
299 |
+{ |
300 |
+ m_log->closeLog(); |
301 |
+} |
302 |
+ |
303 |
+void |
304 |
+CArch::showLog(bool showIfEmpty) |
305 |
+{ |
306 |
+ m_log->showLog(showIfEmpty); |
307 |
+} |
308 |
+ |
309 |
+void |
310 |
+CArch::writeLog(ELevel level, const char* msg) |
311 |
+{ |
312 |
+ m_log->writeLog(level, msg); |
313 |
+} |
314 |
+ |
315 |
+CArchCond |
316 |
+CArch::newCondVar() |
317 |
+{ |
318 |
+ return m_mt->newCondVar(); |
319 |
+} |
320 |
+ |
321 |
+void |
322 |
+CArch::closeCondVar(CArchCond cond) |
323 |
+{ |
324 |
+ m_mt->closeCondVar(cond); |
325 |
+} |
326 |
+ |
327 |
+void |
328 |
+CArch::signalCondVar(CArchCond cond) |
329 |
+{ |
330 |
+ m_mt->signalCondVar(cond); |
331 |
+} |
332 |
+ |
333 |
+void |
334 |
+CArch::broadcastCondVar(CArchCond cond) |
335 |
+{ |
336 |
+ m_mt->broadcastCondVar(cond); |
337 |
+} |
338 |
+ |
339 |
+bool |
340 |
+CArch::waitCondVar(CArchCond cond, CArchMutex mutex, double timeout) |
341 |
+{ |
342 |
+ return m_mt->waitCondVar(cond, mutex, timeout); |
343 |
+} |
344 |
+ |
345 |
+CArchMutex |
346 |
+CArch::newMutex() |
347 |
+{ |
348 |
+ return m_mt->newMutex(); |
349 |
+} |
350 |
+ |
351 |
+void |
352 |
+CArch::closeMutex(CArchMutex mutex) |
353 |
+{ |
354 |
+ m_mt->closeMutex(mutex); |
355 |
+} |
356 |
+ |
357 |
+void |
358 |
+CArch::lockMutex(CArchMutex mutex) |
359 |
+{ |
360 |
+ m_mt->lockMutex(mutex); |
361 |
+} |
362 |
+ |
363 |
+void |
364 |
+CArch::unlockMutex(CArchMutex mutex) |
365 |
+{ |
366 |
+ m_mt->unlockMutex(mutex); |
367 |
+} |
368 |
+ |
369 |
+CArchThread |
370 |
+CArch::newThread(ThreadFunc func, void* data) |
371 |
+{ |
372 |
+ return m_mt->newThread(func, data); |
373 |
+} |
374 |
+ |
375 |
+CArchThread |
376 |
+CArch::newCurrentThread() |
377 |
+{ |
378 |
+ return m_mt->newCurrentThread(); |
379 |
+} |
380 |
+ |
381 |
+CArchThread |
382 |
+CArch::copyThread(CArchThread thread) |
383 |
+{ |
384 |
+ return m_mt->copyThread(thread); |
385 |
+} |
386 |
+ |
387 |
+void |
388 |
+CArch::closeThread(CArchThread thread) |
389 |
+{ |
390 |
+ m_mt->closeThread(thread); |
391 |
+} |
392 |
+ |
393 |
+void |
394 |
+CArch::cancelThread(CArchThread thread) |
395 |
+{ |
396 |
+ m_mt->cancelThread(thread); |
397 |
+} |
398 |
+ |
399 |
+void |
400 |
+CArch::setPriorityOfThread(CArchThread thread, int n) |
401 |
+{ |
402 |
+ m_mt->setPriorityOfThread(thread, n); |
403 |
+} |
404 |
+ |
405 |
+void |
406 |
+CArch::testCancelThread() |
407 |
+{ |
408 |
+ m_mt->testCancelThread(); |
409 |
+} |
410 |
+ |
411 |
+bool |
412 |
+CArch::wait(CArchThread thread, double timeout) |
413 |
+{ |
414 |
+ return m_mt->wait(thread, timeout); |
415 |
+} |
416 |
+ |
417 |
+bool |
418 |
+CArch::isSameThread(CArchThread thread1, CArchThread thread2) |
419 |
+{ |
420 |
+ return m_mt->isSameThread(thread1, thread2); |
421 |
+} |
422 |
+ |
423 |
+bool |
424 |
+CArch::isExitedThread(CArchThread thread) |
425 |
+{ |
426 |
+ return m_mt->isExitedThread(thread); |
427 |
+} |
428 |
+ |
429 |
+void* |
430 |
+CArch::getResultOfThread(CArchThread thread) |
431 |
+{ |
432 |
+ return m_mt->getResultOfThread(thread); |
433 |
+} |
434 |
+ |
435 |
+IArchMultithread::ThreadID |
436 |
+CArch::getIDOfThread(CArchThread thread) |
437 |
+{ |
438 |
+ return m_mt->getIDOfThread(thread); |
439 |
+} |
440 |
+ |
441 |
+void |
442 |
+CArch::setSignalHandler(ESignal signal, SignalFunc func, void* userData) |
443 |
+{ |
444 |
+ m_mt->setSignalHandler(signal, func, userData); |
445 |
+} |
446 |
+ |
447 |
+void |
448 |
+CArch::raiseSignal(ESignal signal) |
449 |
+{ |
450 |
+ m_mt->raiseSignal(signal); |
451 |
+} |
452 |
+ |
453 |
+CArchSocket |
454 |
+CArch::newSocket(EAddressFamily family, ESocketType type) |
455 |
+{ |
456 |
+ return m_net->newSocket(family, type); |
457 |
+} |
458 |
+ |
459 |
+CArchSocket |
460 |
+CArch::copySocket(CArchSocket s) |
461 |
+{ |
462 |
+ return m_net->copySocket(s); |
463 |
+} |
464 |
+ |
465 |
+void |
466 |
+CArch::closeSocket(CArchSocket s) |
467 |
+{ |
468 |
+ m_net->closeSocket(s); |
469 |
+} |
470 |
+ |
471 |
+void |
472 |
+CArch::closeSocketForRead(CArchSocket s) |
473 |
+{ |
474 |
+ m_net->closeSocketForRead(s); |
475 |
+} |
476 |
+ |
477 |
+void |
478 |
+CArch::closeSocketForWrite(CArchSocket s) |
479 |
+{ |
480 |
+ m_net->closeSocketForWrite(s); |
481 |
+} |
482 |
+ |
483 |
+void |
484 |
+CArch::bindSocket(CArchSocket s, CArchNetAddress addr) |
485 |
+{ |
486 |
+ m_net->bindSocket(s, addr); |
487 |
+} |
488 |
+ |
489 |
+void |
490 |
+CArch::listenOnSocket(CArchSocket s) |
491 |
+{ |
492 |
+ m_net->listenOnSocket(s); |
493 |
+} |
494 |
+ |
495 |
+CArchSocket |
496 |
+CArch::acceptSocket(CArchSocket s, CArchNetAddress* addr) |
497 |
+{ |
498 |
+ return m_net->acceptSocket(s, addr); |
499 |
+} |
500 |
+ |
501 |
+bool |
502 |
+CArch::connectSocket(CArchSocket s, CArchNetAddress name) |
503 |
+{ |
504 |
+ return m_net->connectSocket(s, name); |
505 |
+} |
506 |
+ |
507 |
+int |
508 |
+CArch::pollSocket(CPollEntry pe[], int num, double timeout) |
509 |
+{ |
510 |
+ return m_net->pollSocket(pe, num, timeout); |
511 |
+} |
512 |
+ |
513 |
+void |
514 |
+CArch::unblockPollSocket(CArchThread thread) |
515 |
+{ |
516 |
+ m_net->unblockPollSocket(thread); |
517 |
+} |
518 |
+ |
519 |
+size_t |
520 |
+CArch::readSocket(CArchSocket s, void* buf, size_t len) |
521 |
+{ |
522 |
+ return m_net->readSocket(s, buf, len); |
523 |
+} |
524 |
+ |
525 |
+size_t |
526 |
+CArch::writeSocket(CArchSocket s, const void* buf, size_t len) |
527 |
+{ |
528 |
+ return m_net->writeSocket(s, buf, len); |
529 |
+} |
530 |
+ |
531 |
+void |
532 |
+CArch::throwErrorOnSocket(CArchSocket s) |
533 |
+{ |
534 |
+ m_net->throwErrorOnSocket(s); |
535 |
+} |
536 |
+ |
537 |
+bool |
538 |
+CArch::setNoDelayOnSocket(CArchSocket s, bool noDelay) |
539 |
+{ |
540 |
+ return m_net->setNoDelayOnSocket(s, noDelay); |
541 |
+} |
542 |
+ |
543 |
+bool |
544 |
+CArch::setReuseAddrOnSocket(CArchSocket s, bool reuse) |
545 |
+{ |
546 |
+ return m_net->setReuseAddrOnSocket(s, reuse); |
547 |
+} |
548 |
+ |
549 |
+std::string |
550 |
+CArch::getHostName() |
551 |
+{ |
552 |
+ return m_net->getHostName(); |
553 |
+} |
554 |
+ |
555 |
+CArchNetAddress |
556 |
+CArch::newAnyAddr(EAddressFamily family) |
557 |
+{ |
558 |
+ return m_net->newAnyAddr(family); |
559 |
+} |
560 |
+ |
561 |
+CArchNetAddress |
562 |
+CArch::copyAddr(CArchNetAddress addr) |
563 |
+{ |
564 |
+ return m_net->copyAddr(addr); |
565 |
+} |
566 |
+ |
567 |
+CArchNetAddress |
568 |
+CArch::nameToAddr(const std::string& name) |
569 |
+{ |
570 |
+ return m_net->nameToAddr(name); |
571 |
+} |
572 |
+ |
573 |
+void |
574 |
+CArch::closeAddr(CArchNetAddress addr) |
575 |
+{ |
576 |
+ m_net->closeAddr(addr); |
577 |
+} |
578 |
+ |
579 |
+std::string |
580 |
+CArch::addrToName(CArchNetAddress addr) |
581 |
+{ |
582 |
+ return m_net->addrToName(addr); |
583 |
+} |
584 |
+ |
585 |
+std::string |
586 |
+CArch::addrToString(CArchNetAddress addr) |
587 |
+{ |
588 |
+ return m_net->addrToString(addr); |
589 |
+} |
590 |
+ |
591 |
+IArchNetwork::EAddressFamily |
592 |
+CArch::getAddrFamily(CArchNetAddress addr) |
593 |
+{ |
594 |
+ return m_net->getAddrFamily(addr); |
595 |
+} |
596 |
+ |
597 |
+void |
598 |
+CArch::setAddrPort(CArchNetAddress addr, int port) |
599 |
+{ |
600 |
+ m_net->setAddrPort(addr, port); |
601 |
+} |
602 |
+ |
603 |
+int |
604 |
+CArch::getAddrPort(CArchNetAddress addr) |
605 |
+{ |
606 |
+ return m_net->getAddrPort(addr); |
607 |
+} |
608 |
+ |
609 |
+bool |
610 |
+CArch::isAnyAddr(CArchNetAddress addr) |
611 |
+{ |
612 |
+ return m_net->isAnyAddr(addr); |
613 |
+} |
614 |
+ |
615 |
+bool |
616 |
+CArch::isEqualAddr(CArchNetAddress a, CArchNetAddress b) |
617 |
+{ |
618 |
+ return m_net->isEqualAddr(a, b); |
619 |
+} |
620 |
+ |
621 |
+void |
622 |
+CArch::sleep(double timeout) |
623 |
+{ |
624 |
+ m_sleep->sleep(timeout); |
625 |
+} |
626 |
+ |
627 |
+int |
628 |
+CArch::vsnprintf(char* str, int size, const char* fmt, va_list ap) |
629 |
+{ |
630 |
+ return m_string->vsnprintf(str, size, fmt, ap); |
631 |
+} |
632 |
+ |
633 |
+int |
634 |
+CArch::convStringMBToWC(wchar_t* dst, const char* src, UInt32 n, bool* errors) |
635 |
+{ |
636 |
+ return m_string->convStringMBToWC(dst, src, n, errors); |
637 |
+} |
638 |
+ |
639 |
+int |
640 |
+CArch::convStringWCToMB(char* dst, const wchar_t* src, UInt32 n, bool* errors) |
641 |
+{ |
642 |
+ return m_string->convStringWCToMB(dst, src, n, errors); |
643 |
+} |
644 |
+ |
645 |
+IArchString::EWideCharEncoding |
646 |
+CArch::getWideCharEncoding() |
647 |
+{ |
648 |
+ return m_string->getWideCharEncoding(); |
649 |
+} |
650 |
+ |
651 |
+std::string |
652 |
+CArch::getOSName() const |
653 |
+{ |
654 |
+ return m_system->getOSName(); |
655 |
+} |
656 |
+ |
657 |
+std::string |
658 |
+CArch::getPlatformName() const |
659 |
+{ |
660 |
+ return m_system->getPlatformName(); |
661 |
+} |
662 |
+ |
663 |
+void |
664 |
+CArch::addReceiver(IArchTaskBarReceiver* receiver) |
665 |
+{ |
666 |
+ m_taskbar->addReceiver(receiver); |
667 |
+} |
668 |
+ |
669 |
+void |
670 |
+CArch::removeReceiver(IArchTaskBarReceiver* receiver) |
671 |
+{ |
672 |
+ m_taskbar->removeReceiver(receiver); |
673 |
+} |
674 |
+ |
675 |
+void |
676 |
+CArch::updateReceiver(IArchTaskBarReceiver* receiver) |
677 |
+{ |
678 |
+ m_taskbar->updateReceiver(receiver); |
679 |
+} |
680 |
+ |
681 |
+double |
682 |
+CArch::time() |
683 |
+{ |
684 |
+ return m_time->time(); |
685 |
+} |
686 |
+ |
687 |
+bool |
688 |
+CArch::parseArg(const int& argc, const char* const* argv, int& i) |
689 |
+{ |
690 |
+ return m_appUtil->parseArg(argc, argv, i); |
691 |
+} |
692 |
+ |
693 |
+void |
694 |
+CArch::adoptApp(CApp* app) |
695 |
+{ |
696 |
+ m_appUtil->adoptApp(app); |
697 |
+} |
698 |
+ |
699 |
+CApp& |
700 |
+CArch::app() const |
701 |
+{ |
702 |
+ return m_appUtil->app(); |
703 |
+} |
704 |
+ |
705 |
+int |
706 |
+CArch::run(int argc, char** argv) |
707 |
+{ |
708 |
+ return m_appUtil->run(argc, argv); |
709 |
+} |
710 |
+ |
711 |
+void |
712 |
+CArch::beforeAppExit() |
713 |
+{ |
714 |
+ m_appUtil->beforeAppExit(); |
715 |
+} |
716 |
diff -urN synergy-1.4.5-Source.orig/src/lib/arch/IArchString.cpp synergy-1.4.5-Source/src/lib/arch/IArchString.cpp |
717 |
--- synergy-1.4.5-Source.orig/src/lib/arch/IArchString.cpp 2011-10-10 20:57:37.000000000 -0400 |
718 |
+++ synergy-1.4.5-Source/src/lib/arch/IArchString.cpp 2012-01-03 16:31:35.201750077 -0500 |
719 |
@@ -36,6 +36,13 @@ |
720 |
} |
721 |
} |
722 |
|
723 |
+void |
724 |
+IArchString::initArchString() |
725 |
+{ |
726 |
+ if (s_mutex == NULL) |
727 |
+ s_mutex = ARCH->newMutex(); |
728 |
+} |
729 |
+ |
730 |
int |
731 |
IArchString::convStringWCToMB(char* dst, |
732 |
const wchar_t* src, UInt32 n, bool* errors) |
733 |
diff -urN synergy-1.4.5-Source.orig/src/lib/arch/IArchString.h synergy-1.4.5-Source/src/lib/arch/IArchString.h |
734 |
--- synergy-1.4.5-Source.orig/src/lib/arch/IArchString.h 2011-10-10 09:26:28.000000000 -0400 |
735 |
+++ synergy-1.4.5-Source/src/lib/arch/IArchString.h 2012-01-03 16:31:35.202750078 -0500 |
736 |
@@ -30,6 +30,7 @@ |
737 |
class IArchString : public IInterface { |
738 |
public: |
739 |
virtual ~IArchString(); |
740 |
+ void initArchString(); |
741 |
|
742 |
//! Wide character encodings |
743 |
/*! |