glib2 3.0.9-x86-mingw32 → 3.1.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -2
  3. data/ext/glib2/extconf.rb +0 -3
  4. data/ext/glib2/glib2.def +3 -0
  5. data/ext/glib2/rbglib.c +52 -20
  6. data/ext/glib2/rbglib.h +2 -2
  7. data/ext/glib2/rbglib_iochannel.c +1 -1
  8. data/ext/glib2/rbglib_mainloop.c +34 -11
  9. data/ext/glib2/rbglib_messages.c +21 -14
  10. data/ext/glib2/rbgobj_closure.c +65 -28
  11. data/ext/glib2/rbgobj_signal.c +38 -2
  12. data/ext/glib2/rbgobject.h +16 -0
  13. data/ext/glib2/rbgutil.c +6 -6
  14. data/lib/2.2/glib2.so +0 -0
  15. data/lib/2.3/glib2.so +0 -0
  16. data/lib/glib2.rb +8 -3
  17. data/lib/gnome2/rake/external-package.rb +24 -1
  18. data/lib/gnome2/rake/windows-binary-build-task.rb +339 -338
  19. data/vendor/local/bin/asn1Coding.exe +0 -0
  20. data/vendor/local/bin/asn1Decoding.exe +0 -0
  21. data/vendor/local/bin/asn1Parser.exe +0 -0
  22. data/vendor/local/bin/envsubst.exe +0 -0
  23. data/vendor/local/bin/gdbus.exe +0 -0
  24. data/vendor/local/bin/gettext.exe +0 -0
  25. data/vendor/local/bin/gio-querymodules.exe +0 -0
  26. data/vendor/local/bin/gio.exe +0 -0
  27. data/vendor/local/bin/glib-compile-resources.exe +0 -0
  28. data/vendor/local/bin/glib-compile-schemas.exe +0 -0
  29. data/vendor/local/bin/glib-genmarshal.exe +0 -0
  30. data/vendor/local/bin/glib-gettextize +1 -1
  31. data/vendor/local/bin/glib-mkenums +1 -1
  32. data/vendor/local/bin/gobject-query.exe +0 -0
  33. data/vendor/local/bin/gresource.exe +0 -0
  34. data/vendor/local/bin/gsettings.exe +0 -0
  35. data/vendor/local/bin/gspawn-win32-helper-console.exe +0 -0
  36. data/vendor/local/bin/gspawn-win32-helper.exe +0 -0
  37. data/vendor/local/bin/iconv.exe +0 -0
  38. data/vendor/local/bin/idn.exe +0 -0
  39. data/vendor/local/bin/libasprintf-0.dll +0 -0
  40. data/vendor/local/bin/libcharset-1.dll +0 -0
  41. data/vendor/local/bin/libffi-6.dll +0 -0
  42. data/vendor/local/bin/libgio-2.0-0.dll +0 -0
  43. data/vendor/local/bin/libglib-2.0-0.dll +0 -0
  44. data/vendor/local/bin/libgmodule-2.0-0.dll +0 -0
  45. data/vendor/local/bin/libgmp-10.dll +0 -0
  46. data/vendor/local/bin/libgnutls-30.dll +0 -0
  47. data/vendor/local/bin/libgobject-2.0-0.dll +0 -0
  48. data/vendor/local/bin/libgthread-2.0-0.dll +0 -0
  49. data/vendor/local/bin/libhogweed-4-2.dll +0 -0
  50. data/vendor/local/bin/libiconv-2.dll +0 -0
  51. data/vendor/local/bin/libidn-11.dll +0 -0
  52. data/vendor/local/bin/libintl-8.dll +0 -0
  53. data/vendor/local/bin/libnettle-6-2.dll +0 -0
  54. data/vendor/local/bin/libp11-kit-0.dll +0 -0
  55. data/vendor/local/bin/libpcre-1.dll +0 -0
  56. data/vendor/local/bin/libpcrecpp-0.dll +0 -0
  57. data/vendor/local/bin/libpcreposix-0.dll +0 -0
  58. data/vendor/local/bin/libtasn1-6.dll +0 -0
  59. data/vendor/local/bin/nettle-hash.exe +0 -0
  60. data/vendor/local/bin/nettle-lfib-stream.exe +0 -0
  61. data/vendor/local/bin/nettle-pbkdf2.exe +0 -0
  62. data/vendor/local/bin/ngettext.exe +0 -0
  63. data/vendor/local/bin/p11-kit.exe +0 -0
  64. data/vendor/local/bin/pcregrep.exe +0 -0
  65. data/vendor/local/bin/pcretest.exe +0 -0
  66. data/vendor/local/bin/pkcs1-conv.exe +0 -0
  67. data/vendor/local/bin/sexp-conv.exe +0 -0
  68. data/vendor/local/bin/trust.exe +0 -0
  69. data/vendor/local/include/glib-2.0/gio/gappinfo.h +11 -0
  70. data/vendor/local/include/glib-2.0/gio/gdrive.h +4 -0
  71. data/vendor/local/include/glib-2.0/gio/gfileinfo.h +9 -0
  72. data/vendor/local/include/glib-2.0/gio/gio-autocleanups.h +1 -0
  73. data/vendor/local/include/glib-2.0/gio/gioenums.h +10 -10
  74. data/vendor/local/include/glib-2.0/gio/giotypes.h +1 -1
  75. data/vendor/local/include/glib-2.0/gio/gsettings.h +14 -0
  76. data/vendor/local/include/glib-2.0/gio/gvfs.h +36 -0
  77. data/vendor/local/include/glib-2.0/glib/gchecksum.h +1 -1
  78. data/vendor/local/include/glib-2.0/glib/ghmac.h +5 -0
  79. data/vendor/local/include/glib-2.0/glib/gkeyfile.h +6 -0
  80. data/vendor/local/include/glib-2.0/glib/gmacros.h +1 -1
  81. data/vendor/local/include/glib-2.0/glib/gmain.h +11 -0
  82. data/vendor/local/include/glib-2.0/glib/gmessages.h +211 -2
  83. data/vendor/local/include/glib-2.0/glib/gtypes.h +2 -1
  84. data/vendor/local/include/glib-2.0/glib/gunicode.h +23 -3
  85. data/vendor/local/include/glib-2.0/glib/gutils.h +10 -0
  86. data/vendor/local/include/glib-2.0/glib/gvariant.h +71 -2
  87. data/vendor/local/include/glib-2.0/glib/gvarianttype.h +0 -1
  88. data/vendor/local/include/glib-2.0/glib/gversionmacros.h +23 -0
  89. data/vendor/local/include/glib-2.0/gobject/gparam.h +2 -1
  90. data/vendor/local/include/glib-2.0/gobject/gsignal.h +1 -1
  91. data/vendor/local/include/glib-2.0/gobject/gtypemodule.h +2 -0
  92. data/vendor/local/include/gmp.h +1 -1
  93. data/vendor/local/include/nettle/nettle-stdint.h +1 -1
  94. data/vendor/local/lib/gio/modules/libgiognutls.a +0 -0
  95. data/vendor/local/lib/gio/modules/libgiognutls.dll +0 -0
  96. data/vendor/local/lib/gio/modules/libgiognutls.dll.a +0 -0
  97. data/vendor/local/lib/glib-2.0/include/glibconfig.h +3 -2
  98. data/vendor/local/lib/libasprintf.a +0 -0
  99. data/vendor/local/lib/libasprintf.dll.a +0 -0
  100. data/vendor/local/lib/libcharset.a +0 -0
  101. data/vendor/local/lib/libcharset.dll.a +0 -0
  102. data/vendor/local/lib/libffi.a +0 -0
  103. data/vendor/local/lib/libffi.dll.a +0 -0
  104. data/vendor/local/lib/libgio-2.0.dll.a +0 -0
  105. data/vendor/local/lib/libgio-2.0.la +5 -5
  106. data/vendor/local/lib/libglib-2.0.dll.a +0 -0
  107. data/vendor/local/lib/libglib-2.0.la +5 -5
  108. data/vendor/local/lib/libgmodule-2.0.dll.a +0 -0
  109. data/vendor/local/lib/libgmodule-2.0.la +5 -5
  110. data/vendor/local/lib/libgmp.dll.a +0 -0
  111. data/vendor/local/lib/libgnutls.dll.a +0 -0
  112. data/vendor/local/lib/libgobject-2.0.dll.a +0 -0
  113. data/vendor/local/lib/libgobject-2.0.la +5 -5
  114. data/vendor/local/lib/libgthread-2.0.dll.a +0 -0
  115. data/vendor/local/lib/libgthread-2.0.la +5 -5
  116. data/vendor/local/lib/libhogweed.a +0 -0
  117. data/vendor/local/lib/libhogweed.dll.a +0 -0
  118. data/vendor/local/lib/libiconv.dll.a +0 -0
  119. data/vendor/local/lib/libidn.a +0 -0
  120. data/vendor/local/lib/libidn.dll.a +0 -0
  121. data/vendor/local/lib/libintl.a +0 -0
  122. data/vendor/local/lib/libintl.dll.a +0 -0
  123. data/vendor/local/lib/libnettle.a +0 -0
  124. data/vendor/local/lib/libnettle.dll.a +0 -0
  125. data/vendor/local/lib/libp11-kit.dll.a +0 -0
  126. data/vendor/local/lib/libpcre.a +0 -0
  127. data/vendor/local/lib/libpcre.dll.a +0 -0
  128. data/vendor/local/lib/libpcrecpp.a +0 -0
  129. data/vendor/local/lib/libpcrecpp.dll.a +0 -0
  130. data/vendor/local/lib/libpcreposix.a +0 -0
  131. data/vendor/local/lib/libpcreposix.dll.a +0 -0
  132. data/vendor/local/lib/libtasn1.a +0 -0
  133. data/vendor/local/lib/libtasn1.dll.a +0 -0
  134. data/vendor/local/lib/p11-kit/p11-kit-remote.exe +0 -0
  135. data/vendor/local/lib/pkcs11/p11-kit-trust.dll +0 -0
  136. data/vendor/local/lib/pkcs11/p11-kit-trust.dll.a +0 -0
  137. data/vendor/local/lib/pkgconfig/gio-2.0.pc +2 -2
  138. data/vendor/local/lib/pkgconfig/gio-windows-2.0.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/glib-2.0.pc +2 -2
  140. data/vendor/local/lib/pkgconfig/gmodule-2.0.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/gmodule-export-2.0.pc +1 -1
  142. data/vendor/local/lib/pkgconfig/gmodule-no-export-2.0.pc +1 -1
  143. data/vendor/local/lib/pkgconfig/gnutls.pc +1 -1
  144. data/vendor/local/lib/pkgconfig/gobject-2.0.pc +2 -2
  145. data/vendor/local/lib/pkgconfig/gthread-2.0.pc +1 -1
  146. data/vendor/local/share/bash-completion/completions/gsettings +3 -3
  147. data/vendor/local/share/gdb/auto-load/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/lib/{libglib-2.0.so.0.4800.1-gdb.py → libglib-2.0.so.0.5000.2-gdb.py} +1 -1
  148. data/vendor/local/share/gdb/auto-load/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/lib/{libgobject-2.0.so.0.4800.1-gdb.py → libgobject-2.0.so.0.5000.2-gdb.py} +1 -1
  149. data/vendor/local/share/glib-2.0/codegen/__init__.pyc +0 -0
  150. data/vendor/local/share/glib-2.0/codegen/__init__.pyo +0 -0
  151. data/vendor/local/share/glib-2.0/codegen/codegen.py +32 -22
  152. data/vendor/local/share/glib-2.0/codegen/codegen.pyc +0 -0
  153. data/vendor/local/share/glib-2.0/codegen/codegen.pyo +0 -0
  154. data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyc +0 -0
  155. data/vendor/local/share/glib-2.0/codegen/codegen_docbook.pyo +0 -0
  156. data/vendor/local/share/glib-2.0/codegen/codegen_main.py +3 -0
  157. data/vendor/local/share/glib-2.0/codegen/codegen_main.pyc +0 -0
  158. data/vendor/local/share/glib-2.0/codegen/codegen_main.pyo +0 -0
  159. data/vendor/local/share/glib-2.0/codegen/config.py +1 -1
  160. data/vendor/local/share/glib-2.0/codegen/config.pyc +0 -0
  161. data/vendor/local/share/glib-2.0/codegen/config.pyo +0 -0
  162. data/vendor/local/share/glib-2.0/codegen/dbustypes.pyc +0 -0
  163. data/vendor/local/share/glib-2.0/codegen/dbustypes.pyo +0 -0
  164. data/vendor/local/share/glib-2.0/codegen/parser.py +8 -4
  165. data/vendor/local/share/glib-2.0/codegen/parser.pyc +0 -0
  166. data/vendor/local/share/glib-2.0/codegen/parser.pyo +0 -0
  167. data/vendor/local/share/glib-2.0/codegen/utils.py +8 -2
  168. data/vendor/local/share/glib-2.0/codegen/utils.pyc +0 -0
  169. data/vendor/local/share/glib-2.0/codegen/utils.pyo +0 -0
  170. data/vendor/local/share/glib-2.0/gdb/{glib.py → glib_gdb.py} +0 -0
  171. data/vendor/local/share/glib-2.0/gdb/{gobject.py → gobject_gdb.py} +3 -3
  172. data/vendor/local/share/gtk-doc/html/gio/GAction.html +1 -1
  173. data/vendor/local/share/gtk-doc/html/gio/GActionGroup.html +1 -1
  174. data/vendor/local/share/gtk-doc/html/gio/GActionMap.html +1 -1
  175. data/vendor/local/share/gtk-doc/html/gio/GAppInfo.html +115 -8
  176. data/vendor/local/share/gtk-doc/html/gio/GApplication.html +4 -4
  177. data/vendor/local/share/gtk-doc/html/gio/GApplicationCommandLine.html +2 -1
  178. data/vendor/local/share/gtk-doc/html/gio/GAsyncInitable.html +1 -1
  179. data/vendor/local/share/gtk-doc/html/gio/GAsyncResult.html +1 -1
  180. data/vendor/local/share/gtk-doc/html/gio/GCancellable.html +1 -1
  181. data/vendor/local/share/gtk-doc/html/gio/GConverter.html +1 -1
  182. data/vendor/local/share/gtk-doc/html/gio/GCredentials.html +5 -5
  183. data/vendor/local/share/gtk-doc/html/gio/GDBusInterface.html +1 -1
  184. data/vendor/local/share/gtk-doc/html/gio/GDBusMessage.html +6 -6
  185. data/vendor/local/share/gtk-doc/html/gio/GDBusObject.html +1 -1
  186. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManager.html +1 -1
  187. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerClient.html +1 -1
  188. data/vendor/local/share/gtk-doc/html/gio/GDBusObjectManagerServer.html +3 -3
  189. data/vendor/local/share/gtk-doc/html/gio/GDatagramBased.html +8 -7
  190. data/vendor/local/share/gtk-doc/html/gio/GDrive.html +44 -1
  191. data/vendor/local/share/gtk-doc/html/gio/GDtlsClientConnection.html +1 -1
  192. data/vendor/local/share/gtk-doc/html/gio/GDtlsConnection.html +1 -1
  193. data/vendor/local/share/gtk-doc/html/gio/GDtlsServerConnection.html +1 -1
  194. data/vendor/local/share/gtk-doc/html/gio/GFile.html +25 -23
  195. data/vendor/local/share/gtk-doc/html/gio/GFileDescriptorBased.html +1 -1
  196. data/vendor/local/share/gtk-doc/html/gio/GFileEnumerator.html +1 -1
  197. data/vendor/local/share/gtk-doc/html/gio/GFileInfo.html +18 -4
  198. data/vendor/local/share/gtk-doc/html/gio/GFileMonitor.html +5 -5
  199. data/vendor/local/share/gtk-doc/html/gio/GIOModule.html +14 -10
  200. data/vendor/local/share/gtk-doc/html/gio/GIcon.html +1 -1
  201. data/vendor/local/share/gtk-doc/html/gio/GInetSocketAddress.html +1 -1
  202. data/vendor/local/share/gtk-doc/html/gio/GInitable.html +1 -1
  203. data/vendor/local/share/gtk-doc/html/gio/GListModel.html +1 -1
  204. data/vendor/local/share/gtk-doc/html/gio/GLoadableIcon.html +1 -1
  205. data/vendor/local/share/gtk-doc/html/gio/GMenu.html +14 -14
  206. data/vendor/local/share/gtk-doc/html/gio/GMenuModel.html +1 -1
  207. data/vendor/local/share/gtk-doc/html/gio/GMount.html +1 -1
  208. data/vendor/local/share/gtk-doc/html/gio/GMountOperation.html +5 -5
  209. data/vendor/local/share/gtk-doc/html/gio/GNetworkMonitor.html +1 -1
  210. data/vendor/local/share/gtk-doc/html/gio/GPollableInputStream.html +1 -1
  211. data/vendor/local/share/gtk-doc/html/gio/GPollableOutputStream.html +1 -1
  212. data/vendor/local/share/gtk-doc/html/gio/GPropertyAction.html +4 -4
  213. data/vendor/local/share/gtk-doc/html/gio/GProxy.html +1 -1
  214. data/vendor/local/share/gtk-doc/html/gio/GProxyResolver.html +1 -1
  215. data/vendor/local/share/gtk-doc/html/gio/GRemoteActionGroup.html +1 -1
  216. data/vendor/local/share/gtk-doc/html/gio/GResolver.html +2 -0
  217. data/vendor/local/share/gtk-doc/html/gio/GResource.html +32 -2
  218. data/vendor/local/share/gtk-doc/html/gio/GSeekable.html +1 -1
  219. data/vendor/local/share/gtk-doc/html/gio/GSettings.html +234 -11
  220. data/vendor/local/share/gtk-doc/html/gio/GSimpleAsyncResult.html +1 -1
  221. data/vendor/local/share/gtk-doc/html/gio/GSocketConnectable.html +3 -3
  222. data/vendor/local/share/gtk-doc/html/gio/GSocketService.html +10 -2
  223. data/vendor/local/share/gtk-doc/html/gio/GSrvTarget.html +1 -1
  224. data/vendor/local/share/gtk-doc/html/gio/GSubprocessLauncher.html +9 -9
  225. data/vendor/local/share/gtk-doc/html/gio/GTask.html +6 -6
  226. data/vendor/local/share/gtk-doc/html/gio/GThemedIcon.html +1 -1
  227. data/vendor/local/share/gtk-doc/html/gio/GTlsBackend.html +1 -1
  228. data/vendor/local/share/gtk-doc/html/gio/GTlsCertificate.html +10 -9
  229. data/vendor/local/share/gtk-doc/html/gio/GTlsClientConnection.html +1 -1
  230. data/vendor/local/share/gtk-doc/html/gio/GTlsFileDatabase.html +3 -3
  231. data/vendor/local/share/gtk-doc/html/gio/GTlsServerConnection.html +1 -1
  232. data/vendor/local/share/gtk-doc/html/gio/GVfs.html +222 -0
  233. data/vendor/local/share/gtk-doc/html/gio/GVolume.html +1 -1
  234. data/vendor/local/share/gtk-doc/html/gio/annotation-glossary.html +4 -2
  235. data/vendor/local/share/gtk-doc/html/gio/api-index-2-48.html +2 -2
  236. data/vendor/local/share/gtk-doc/html/gio/api-index-2-50.html +79 -0
  237. data/vendor/local/share/gtk-doc/html/gio/api-index-full.html +44 -0
  238. data/vendor/local/share/gtk-doc/html/gio/ch33.html +2 -2
  239. data/vendor/local/share/gtk-doc/html/gio/ch35.html +1 -1
  240. data/vendor/local/share/gtk-doc/html/gio/extending-gio.html +1 -1
  241. data/vendor/local/share/gtk-doc/html/gio/gapplication-tool.html +2 -2
  242. data/vendor/local/share/gtk-doc/html/gio/gdbus-codegen.html +18 -6
  243. data/vendor/local/share/gtk-doc/html/gio/gio-D-Bus-Introspection-Data.html +1 -1
  244. data/vendor/local/share/gtk-doc/html/gio/gio-Desktop-file-based-GAppInfo.html +7 -4
  245. data/vendor/local/share/gtk-doc/html/gio/gio-GFileAttribute.html +1 -1
  246. data/vendor/local/share/gtk-doc/html/gio/gio-GSettingsSchema-GSettingsSchemaSource.html +3 -3
  247. data/vendor/local/share/gtk-doc/html/gio/gio-GWin32RegistryKey.html +2 -2
  248. data/vendor/local/share/gtk-doc/html/gio/gio-Unix-Mounts.html +10 -6
  249. data/vendor/local/share/gtk-doc/html/gio/gio-hierarchy.html +2 -2
  250. data/vendor/local/share/gtk-doc/html/gio/gio.devhelp2 +14 -0
  251. data/vendor/local/share/gtk-doc/html/gio/gio.html +664 -0
  252. data/vendor/local/share/gtk-doc/html/gio/glib-compile-resources.html +19 -0
  253. data/vendor/local/share/gtk-doc/html/gio/glib-compile-schemas.html +6 -0
  254. data/vendor/local/share/gtk-doc/html/gio/gsettings-tool.html +7 -0
  255. data/vendor/local/share/gtk-doc/html/gio/index.html +5 -1
  256. data/vendor/local/share/gtk-doc/html/gio/pt02.html +3 -0
  257. data/vendor/local/share/gtk-doc/html/gio/running-gio-apps.html +10 -9
  258. data/vendor/local/share/gtk-doc/html/gio/testing.html +2 -2
  259. data/vendor/local/share/gtk-doc/html/gio/tools.html +3 -0
  260. data/vendor/local/share/gtk-doc/html/glib/annotation-glossary.html +4 -2
  261. data/vendor/local/share/gtk-doc/html/glib/api-index-2-16.html +2 -2
  262. data/vendor/local/share/gtk-doc/html/glib/api-index-2-40.html +1 -1
  263. data/vendor/local/share/gtk-doc/html/glib/api-index-2-46.html +1 -1
  264. data/vendor/local/share/gtk-doc/html/glib/api-index-2-48.html +2 -2
  265. data/vendor/local/share/gtk-doc/html/glib/api-index-2-50.html +121 -0
  266. data/vendor/local/share/gtk-doc/html/glib/api-index-2-6.html +2 -2
  267. data/vendor/local/share/gtk-doc/html/glib/api-index-full.html +110 -34
  268. data/vendor/local/share/gtk-doc/html/glib/glib-Arrays.html +1 -1
  269. data/vendor/local/share/gtk-doc/html/glib/glib-Bookmark-file-parser.html +10 -9
  270. data/vendor/local/share/gtk-doc/html/glib/glib-Byte-Arrays.html +4 -4
  271. data/vendor/local/share/gtk-doc/html/glib/glib-Character-Set-Conversion.html +10 -8
  272. data/vendor/local/share/gtk-doc/html/glib/glib-Commandline-option-parser.html +8 -8
  273. data/vendor/local/share/gtk-doc/html/glib/glib-Data-Checksums.html +1 -1
  274. data/vendor/local/share/gtk-doc/html/glib/glib-Data-HMACs.html +56 -2
  275. data/vendor/local/share/gtk-doc/html/glib/glib-Dynamic-Loading-of-Modules.html +1 -1
  276. data/vendor/local/share/gtk-doc/html/glib/glib-Error-Reporting.html +2 -2
  277. data/vendor/local/share/gtk-doc/html/glib/glib-File-Utilities.html +71 -50
  278. data/vendor/local/share/gtk-doc/html/glib/glib-GVariant.html +74 -17
  279. data/vendor/local/share/gtk-doc/html/glib/glib-GVariantType.html +4 -4
  280. data/vendor/local/share/gtk-doc/html/glib/glib-I18N.html +1 -1
  281. data/vendor/local/share/gtk-doc/html/glib/glib-IO-Channels.html +2 -2
  282. data/vendor/local/share/gtk-doc/html/glib/glib-Key-value-file-parser.html +57 -0
  283. data/vendor/local/share/gtk-doc/html/glib/glib-Keyed-Data-Lists.html +3 -3
  284. data/vendor/local/share/gtk-doc/html/glib/glib-Memory-Allocation.html +2 -2
  285. data/vendor/local/share/gtk-doc/html/glib/glib-Message-Logging.html +1009 -13
  286. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Macros.html +2 -2
  287. data/vendor/local/share/gtk-doc/html/glib/glib-Miscellaneous-Utility-Functions.html +84 -56
  288. data/vendor/local/share/gtk-doc/html/glib/glib-Perl-compatible-regular-expressions.html +3 -0
  289. data/vendor/local/share/gtk-doc/html/glib/glib-Simple-XML-Subset-Parser.html +1 -1
  290. data/vendor/local/share/gtk-doc/html/glib/glib-Spawning-Processes.html +4 -4
  291. data/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html +1 -1
  292. data/vendor/local/share/gtk-doc/html/glib/glib-String-Utility-Functions.html +2 -2
  293. data/vendor/local/share/gtk-doc/html/glib/glib-Testing.html +27 -13
  294. data/vendor/local/share/gtk-doc/html/glib/glib-The-Main-Event-Loop.html +36 -14
  295. data/vendor/local/share/gtk-doc/html/glib/glib-Threads.html +4 -4
  296. data/vendor/local/share/gtk-doc/html/glib/glib-UNIX-specific-utilities-and-integration.html +1 -1
  297. data/vendor/local/share/gtk-doc/html/glib/glib-URI-Functions.html +4 -4
  298. data/vendor/local/share/gtk-doc/html/glib/glib-Unicode-Manipulation.html +68 -5
  299. data/vendor/local/share/gtk-doc/html/glib/glib-Version-Information.html +17 -4
  300. data/vendor/local/share/gtk-doc/html/glib/glib-Warnings-and-Assertions.html +12 -23
  301. data/vendor/local/share/gtk-doc/html/glib/glib-Windows-Compatibility-Functions.html +1 -1
  302. data/vendor/local/share/gtk-doc/html/glib/glib-core.html +2 -3
  303. data/vendor/local/share/gtk-doc/html/glib/glib-regex-syntax.html +1 -1
  304. data/vendor/local/share/gtk-doc/html/glib/glib-running.html +3 -2
  305. data/vendor/local/share/gtk-doc/html/glib/glib-utilities.html +1 -1
  306. data/vendor/local/share/gtk-doc/html/glib/glib.devhelp2 +36 -2
  307. data/vendor/local/share/gtk-doc/html/glib/gvariant-format-strings.html +6 -6
  308. data/vendor/local/share/gtk-doc/html/glib/gvariant-text.html +1 -1
  309. data/vendor/local/share/gtk-doc/html/glib/index.html +4 -4
  310. data/vendor/local/share/gtk-doc/html/gobject/GTypePlugin.html +1 -1
  311. data/vendor/local/share/gtk-doc/html/gobject/chapter-gtype.html +1 -1
  312. data/vendor/local/share/gtk-doc/html/gobject/gobject-Boxed-Types.html +1 -1
  313. data/vendor/local/share/gtk-doc/html/gobject/gobject-Closures.html +1 -1
  314. data/vendor/local/share/gtk-doc/html/gobject/gobject-Generic-values.html +3 -3
  315. data/vendor/local/share/gtk-doc/html/gobject/gobject-Signals.html +2 -2
  316. data/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html +2 -2
  317. data/vendor/local/share/gtk-doc/html/gobject/gobject-properties.html +2 -2
  318. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-construction.html +2 -2
  319. data/vendor/local/share/gtk-doc/html/gobject/howto-gobject-destruction.html +1 -1
  320. data/vendor/local/share/gtk-doc/html/gobject/index.html +1 -1
  321. data/vendor/local/share/gtk-doc/html/gobject/tools-gtkdoc.html +1 -1
  322. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Future.html +4 -4
  323. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Modules.html +12 -12
  324. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-PIN-Callbacks.html +15 -15
  325. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-URIs.html +2 -2
  326. data/vendor/local/share/gtk-doc/html/p11-kit/p11-kit-Utilities.html +2 -2
  327. data/vendor/local/share/locale/az/LC_MESSAGES/glib20.mo +0 -0
  328. data/vendor/local/share/locale/be@latin/LC_MESSAGES/glib20.mo +0 -0
  329. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/glib-networking.mo +0 -0
  330. data/vendor/local/share/locale/ca/LC_MESSAGES/glib20.mo +0 -0
  331. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib-networking.mo +0 -0
  332. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/glib20.mo +0 -0
  333. data/vendor/local/share/locale/cs/LC_MESSAGES/glib20.mo +0 -0
  334. data/vendor/local/share/locale/da/LC_MESSAGES/glib20.mo +0 -0
  335. data/vendor/local/share/locale/de/LC_MESSAGES/glib-networking.mo +0 -0
  336. data/vendor/local/share/locale/de/LC_MESSAGES/glib20.mo +0 -0
  337. data/vendor/local/share/locale/dz/LC_MESSAGES/glib20.mo +0 -0
  338. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/glib20.mo +0 -0
  339. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib-networking.mo +0 -0
  340. data/vendor/local/share/locale/en_CA/LC_MESSAGES/glib20.mo +0 -0
  341. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib-networking.mo +0 -0
  342. data/vendor/local/share/locale/en_GB/LC_MESSAGES/glib20.mo +0 -0
  343. data/vendor/local/share/locale/eo/LC_MESSAGES/glib-networking.mo +0 -0
  344. data/vendor/local/share/locale/es/LC_MESSAGES/glib-networking.mo +0 -0
  345. data/vendor/local/share/locale/es/LC_MESSAGES/glib20.mo +0 -0
  346. data/vendor/local/share/locale/eu/LC_MESSAGES/glib20.mo +0 -0
  347. data/vendor/local/share/locale/fa/LC_MESSAGES/glib-networking.mo +0 -0
  348. data/vendor/local/share/locale/fa/LC_MESSAGES/glib20.mo +0 -0
  349. data/vendor/local/share/locale/fi/LC_MESSAGES/glib20.mo +0 -0
  350. data/vendor/local/share/locale/fr/LC_MESSAGES/glib-networking.mo +0 -0
  351. data/vendor/local/share/locale/fr/LC_MESSAGES/glib20.mo +0 -0
  352. data/vendor/local/share/locale/gl/LC_MESSAGES/glib20.mo +0 -0
  353. data/vendor/local/share/locale/gu/LC_MESSAGES/glib-networking.mo +0 -0
  354. data/vendor/local/share/locale/gu/LC_MESSAGES/glib20.mo +0 -0
  355. data/vendor/local/share/locale/he/LC_MESSAGES/glib20.mo +0 -0
  356. data/vendor/local/share/locale/hr/LC_MESSAGES/glib20.mo +0 -0
  357. data/vendor/local/share/locale/hu/LC_MESSAGES/glib-networking.mo +0 -0
  358. data/vendor/local/share/locale/hu/LC_MESSAGES/glib20.mo +0 -0
  359. data/vendor/local/share/locale/id/LC_MESSAGES/glib20.mo +0 -0
  360. data/vendor/local/share/locale/it/LC_MESSAGES/glib-networking.mo +0 -0
  361. data/vendor/local/share/locale/it/LC_MESSAGES/glib20.mo +0 -0
  362. data/vendor/local/share/locale/kk/LC_MESSAGES/glib20.mo +0 -0
  363. data/vendor/local/share/locale/km/LC_MESSAGES/glib-networking.mo +0 -0
  364. data/vendor/local/share/locale/kn/LC_MESSAGES/glib-networking.mo +0 -0
  365. data/vendor/local/share/locale/ko/LC_MESSAGES/glib20.mo +0 -0
  366. data/vendor/local/share/locale/lt/LC_MESSAGES/glib-networking.mo +0 -0
  367. data/vendor/local/share/locale/lt/LC_MESSAGES/glib20.mo +0 -0
  368. data/vendor/local/share/locale/lv/LC_MESSAGES/glib20.mo +0 -0
  369. data/vendor/local/share/locale/mai/LC_MESSAGES/glib20.mo +0 -0
  370. data/vendor/local/share/locale/mg/LC_MESSAGES/glib20.mo +0 -0
  371. data/vendor/local/share/locale/ml/LC_MESSAGES/glib20.mo +0 -0
  372. data/vendor/local/share/locale/ms/LC_MESSAGES/glib20.mo +0 -0
  373. data/vendor/local/share/locale/nb/LC_MESSAGES/glib-networking.mo +0 -0
  374. data/vendor/local/share/locale/nb/LC_MESSAGES/glib20.mo +0 -0
  375. data/vendor/local/share/locale/nds/LC_MESSAGES/glib20.mo +0 -0
  376. data/vendor/local/share/locale/oc/LC_MESSAGES/glib-networking.mo +0 -0
  377. data/vendor/local/share/locale/oc/LC_MESSAGES/glib20.mo +0 -0
  378. data/vendor/local/share/locale/pa/LC_MESSAGES/glib-networking.mo +0 -0
  379. data/vendor/local/share/locale/pl/LC_MESSAGES/glib-networking.mo +0 -0
  380. data/vendor/local/share/locale/pl/LC_MESSAGES/glib20.mo +0 -0
  381. data/vendor/local/share/locale/pt/LC_MESSAGES/glib20.mo +0 -0
  382. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/glib20.mo +0 -0
  383. data/vendor/local/share/locale/sk/LC_MESSAGES/glib20.mo +0 -0
  384. data/vendor/local/share/locale/sl/LC_MESSAGES/glib-networking.mo +0 -0
  385. data/vendor/local/share/locale/sl/LC_MESSAGES/glib20.mo +0 -0
  386. data/vendor/local/share/locale/sq/LC_MESSAGES/glib20.mo +0 -0
  387. data/vendor/local/share/locale/sr/LC_MESSAGES/glib20.mo +0 -0
  388. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/glib20.mo +0 -0
  389. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib-networking.mo +0 -0
  390. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/glib20.mo +0 -0
  391. data/vendor/local/share/locale/sv/LC_MESSAGES/glib20.mo +0 -0
  392. data/vendor/local/share/locale/th/LC_MESSAGES/glib20.mo +0 -0
  393. data/vendor/local/share/locale/tr/LC_MESSAGES/glib20.mo +0 -0
  394. data/vendor/local/share/locale/tt/LC_MESSAGES/glib20.mo +0 -0
  395. data/vendor/local/share/locale/ug/LC_MESSAGES/glib-networking.mo +0 -0
  396. data/vendor/local/share/locale/ug/LC_MESSAGES/glib20.mo +0 -0
  397. data/vendor/local/share/locale/wa/LC_MESSAGES/glib20.mo +0 -0
  398. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/glib-networking.mo +0 -0
  399. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib-networking.mo +0 -0
  400. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/glib20.mo +0 -0
  401. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib-networking.mo +0 -0
  402. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/glib20.mo +0 -0
  403. data/vendor/local/share/man/man1/gapplication.1 +1 -1
  404. data/vendor/local/share/man/man1/gdbus-codegen.1 +8 -3
  405. data/vendor/local/share/man/man1/gdbus.1 +1 -1
  406. data/vendor/local/share/man/man1/gio-querymodules.1 +1 -1
  407. data/vendor/local/share/man/man1/gio.1 +583 -0
  408. data/vendor/local/share/man/man1/glib-compile-resources.1 +19 -1
  409. data/vendor/local/share/man/man1/glib-compile-schemas.1 +6 -1
  410. data/vendor/local/share/man/man1/glib-genmarshal.1 +1 -1
  411. data/vendor/local/share/man/man1/glib-gettextize.1 +1 -1
  412. data/vendor/local/share/man/man1/glib-mkenums.1 +1 -1
  413. data/vendor/local/share/man/man1/gobject-query.1 +1 -1
  414. data/vendor/local/share/man/man1/gresource.1 +1 -1
  415. data/vendor/local/share/man/man1/gsettings.1 +9 -1
  416. data/vendor/local/share/man/man1/gtester-report.1 +1 -1
  417. data/vendor/local/share/man/man1/gtester.1 +1 -1
  418. metadata +12 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7522dae461849a5c1b61c4a1a3bee9877ddeb96
4
- data.tar.gz: 1bbb1b25990a3b2d15cec47590f62d4fca3f9621
3
+ metadata.gz: b91d2ee97cd4a99550c7af3b609b5949f0e288ed
4
+ data.tar.gz: fc6f8d59d4ce119e5ccc3cccbd75c17a40419e81
5
5
  SHA512:
6
- metadata.gz: 9bf7ee32607f7926df7d272b7debb76f21b71bbe225475f1cf47520e48510ac0f870d7dcdda7d622f1ceeca2a579530e479838e7b705c4b66fcbd2a12d1e8969
7
- data.tar.gz: 27671110e4edfae5494007f316f49836e9e59b239dc6bd155880455af590cdf449f94fd5ac7f7a78c4abcf26d316dc6529ff0216f82a6ca6aaad2f864eb87e3e
6
+ metadata.gz: 5255f12718a022a36ca867d3171855dd2343be4b1d1c8da5d22a521685d9b3518bb1b946898762c4065fffa5f4e76f0a55f078e6fd02ca7f56a469d3a829926c
7
+ data.tar.gz: 098716aa4d68cc2c22416d6c542d04b27946dbd59e742ec2b5f1328c26e607b2b2039faade52049e196371d9a949712d2e6f1fdcc7fcc83502dc26b238a80747
data/Rakefile CHANGED
@@ -85,7 +85,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
85
85
  :name => "glib",
86
86
  :download_site => :gnome,
87
87
  :label => "GLib",
88
- :version => "2.48.1",
88
+ :version => "2.50.2",
89
89
  :compression_method => "xz",
90
90
  :windows => {
91
91
  :need_autoreconf => true,
@@ -168,7 +168,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
168
168
  :name => "glib-networking",
169
169
  :download_site => :gnome,
170
170
  :label => "glib-networking",
171
- :version => "2.48.2",
171
+ :version => "2.50.0",
172
172
  :compression_method => "xz",
173
173
  :windows => {
174
174
  :configure_args => [
@@ -41,9 +41,6 @@ have_func("rb_check_array_type", ruby_header)
41
41
  have_func("rb_check_hash_type", ruby_header)
42
42
  have_func("rb_exec_recursive", ruby_header)
43
43
  have_func("rb_errinfo", ruby_header)
44
- have_func("rb_sourcefile", ruby_header)
45
- have_func("rb_sourceline", ruby_header)
46
- have_func("ruby_set_current_source", ruby_header)
47
44
  have_func("rb_thread_call_without_gvl", ruby_header)
48
45
  have_func("ruby_native_thread_p", ruby_header)
49
46
  have_func("rb_thread_call_with_gvl", ruby_header)
@@ -56,10 +56,13 @@ EXPORTS
56
56
  rbgobj_register_type
57
57
  rbgobj_set_signal_func
58
58
  rbgobj_get_signal_func
59
+ rbgobj_set_signal_call_func
60
+ rbgobj_get_signal_call_func
59
61
  rbgobj_add_constants
60
62
  rbgobj_constant_remap
61
63
  rbgobj_signal_wrap
62
64
  g_rclosure_new
65
+ g_rclosure_new_call
63
66
  g_rclosure_attach
64
67
  g_rclosure_set_tag
65
68
  rbgobj_ruby_value_get_type
@@ -854,47 +854,79 @@ rbg_check_hash_type (VALUE object)
854
854
  void
855
855
  rbg_scan_options (VALUE options, ...)
856
856
  {
857
- VALUE original_options = options;
858
- VALUE available_keys;
859
857
  const char *key;
860
- VALUE *value;
858
+ gsize n_keys = 0;
859
+ gsize n_found_keys = 0;
861
860
  va_list args;
861
+ va_list args_copy;
862
862
 
863
- if (NIL_P(options)) {
864
- options = rb_hash_new();
865
- } else {
863
+ if (!NIL_P(options)) {
864
+ VALUE original_options = options;
866
865
  options = rbg_check_hash_type(options);
867
- if (options == original_options) {
868
- options = rb_funcall(options, rb_intern("dup"), 0);
869
- } else if (NIL_P(options)) {
866
+ if (NIL_P(options)) {
870
867
  rb_raise(rb_eArgError,
871
868
  "options must be Hash or nil: %+" PRIsVALUE,
872
869
  original_options);
873
870
  }
874
871
  }
875
872
 
876
- available_keys = rb_ary_new();
877
873
  va_start(args, options);
874
+ va_copy(args_copy, args);
878
875
  key = va_arg(args, const char *);
876
+ n_keys = 0;
877
+ n_found_keys = 0;
879
878
  while (key) {
880
- VALUE rb_key;
881
- value = va_arg(args, VALUE *);
879
+ VALUE *value;
882
880
 
883
- rb_key = ID2SYM(rb_intern(key));
884
- rb_ary_push(available_keys, rb_key);
885
- *value = rb_funcall(options, rb_intern("delete"), 1, rb_key);
881
+ value = va_arg(args, VALUE *);
882
+ if (NIL_P(options)) {
883
+ *value = Qnil;
884
+ } else {
885
+ VALUE rb_key;
886
+ rb_key = ID2SYM(rb_intern(key));
887
+ if (RTEST(rb_funcall(options, rb_intern("key?"), 1, rb_key))) {
888
+ n_found_keys++;
889
+ }
890
+ *value = rb_hash_aref(options, rb_key);
891
+ }
892
+ n_keys++;
886
893
 
887
894
  key = va_arg(args, const char *);
888
895
  }
889
896
  va_end(args);
890
897
 
891
- if (RVAL2CBOOL(rb_funcall(options, rb_intern("empty?"), 0)))
898
+ if (NIL_P(options)) {
899
+ return;
900
+ }
901
+
902
+ if (n_found_keys == RHASH_SIZE(options)) {
892
903
  return;
904
+ }
905
+
906
+ {
907
+ VALUE rb_available_keys;
893
908
 
894
- rb_raise(rb_eArgError,
895
- "unexpected key(s) exist: %s: available keys: %s",
896
- rbg_inspect(rb_funcall(options, rb_intern("keys"), 0)),
897
- rbg_inspect(available_keys));
909
+ rb_available_keys = rb_ary_new();
910
+ key = va_arg(args_copy, const char *);
911
+ while (key) {
912
+ VALUE rb_key;
913
+
914
+ va_arg(args_copy, VALUE *);
915
+ rb_key = ID2SYM(rb_intern(key));
916
+ rb_ary_push(rb_available_keys, rb_key);
917
+ key = va_arg(args_copy, const char *);
918
+ }
919
+ va_end(args_copy);
920
+
921
+ rb_raise(rb_eArgError,
922
+ "unexpected key(s) exist: %+" PRIsVALUE
923
+ ": available keys: %+" PRIsVALUE,
924
+ rb_funcall(rb_funcall(options, rb_intern("keys"), 0),
925
+ rb_intern("-"),
926
+ 1,
927
+ rb_available_keys),
928
+ rb_available_keys);
929
+ }
898
930
  }
899
931
 
900
932
  #if 0
@@ -35,8 +35,8 @@ extern "C" {
35
35
  #endif /* __cplusplus */
36
36
 
37
37
  #define RBGLIB_MAJOR_VERSION 3
38
- #define RBGLIB_MINOR_VERSION 0
39
- #define RBGLIB_MICRO_VERSION 9
38
+ #define RBGLIB_MINOR_VERSION 1
39
+ #define RBGLIB_MICRO_VERSION 0
40
40
 
41
41
  #ifndef RB_ZALLOC
42
42
  # ifdef ZALLOC
@@ -42,7 +42,7 @@ ioc_error(GIOStatus status, GError *err)
42
42
  } else if (status == G_IO_STATUS_NORMAL){
43
43
  /* Do nothing */
44
44
  } else {
45
- rb_raise(rb_eRuntimeError, "An error occured. status = %d\n", status);
45
+ rb_raise(rb_eRuntimeError, "An error occurred. status = %d\n", status);
46
46
  }
47
47
  }
48
48
 
@@ -57,34 +57,57 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
57
57
  return Qnil;
58
58
  }
59
59
 
60
+ typedef struct {
61
+ GMainLoop *loop;
62
+ int state;
63
+ } CheckInterruptData;
64
+
65
+ static VALUE
66
+ check_interrupt_raw(G_GNUC_UNUSED VALUE user_data)
67
+ {
68
+ rb_thread_check_ints();
69
+ return Qnil;
70
+ }
71
+
60
72
  static gboolean
61
- quit_loop(gpointer user_data)
73
+ check_interrupt(gpointer user_data)
62
74
  {
63
- GMainLoop *loop = user_data;
64
- g_main_loop_quit(loop);
65
- return G_SOURCE_REMOVE;
75
+ CheckInterruptData *data = user_data;
76
+
77
+ rb_protect(check_interrupt_raw, Qnil, &(data->state));
78
+ if (data->state == 0) {
79
+ return G_SOURCE_CONTINUE;
80
+ } else {
81
+ g_main_loop_quit(data->loop);
82
+ return G_SOURCE_REMOVE;
83
+ }
66
84
  }
67
85
 
68
86
  static VALUE
69
87
  rg_run(VALUE self)
70
88
  {
71
- GMainLoop *loop;
89
+ CheckInterruptData data;
72
90
  GSource *interrupt_source;
73
91
 
74
- loop = _SELF(self);
92
+ data.loop = _SELF(self);
93
+ data.state = 0;
75
94
 
76
95
  interrupt_source = rbg_interrupt_source_new();
77
96
  g_source_set_callback(interrupt_source,
78
- quit_loop,
79
- loop,
97
+ check_interrupt,
98
+ &data,
80
99
  NULL);
81
100
  g_source_attach(interrupt_source,
82
- g_main_loop_get_context(loop));
83
- g_main_loop_run(loop);
101
+ g_main_loop_get_context(data.loop));
102
+ g_main_loop_run(data.loop);
84
103
  g_source_destroy(interrupt_source);
85
104
  g_source_unref(interrupt_source);
86
105
 
87
- rb_thread_check_ints();
106
+ if (data.state == 0) {
107
+ rb_thread_check_ints();
108
+ } else {
109
+ rb_jump_tag(data.state);
110
+ }
88
111
 
89
112
  return self;
90
113
  }
@@ -24,14 +24,6 @@
24
24
 
25
25
  #include "rbgprivate.h"
26
26
 
27
- #ifndef HAVE_RB_SOURCEFILE
28
- #define rb_sourcefile() (ruby_sourcefile)
29
- #endif
30
-
31
- #ifndef HAVE_RB_SOURCELINE
32
- #define rb_sourceline() (ruby_sourceline)
33
- #endif
34
-
35
27
  #define RG_TARGET_NAMESPACE mLog
36
28
 
37
29
  static VALUE rbglib_log_handler_procs;
@@ -56,15 +48,30 @@ logmessage(GLogLevelFlags level)
56
48
  return "UNKNOWN";
57
49
  }
58
50
 
51
+ static VALUE
52
+ rbg_printerr(VALUE message, G_GNUC_UNUSED VALUE user_data)
53
+ {
54
+ g_printerr("\tfrom %.*s\n",
55
+ (int)RSTRING_LEN(message),
56
+ RSTRING_PTR(message));
57
+ return Qnil;
58
+ }
59
+
59
60
  static void
60
61
  rbglib_log_handler(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data)
61
62
  {
62
- if (! log_canceled){
63
- #ifdef HAVE_RUBY_SET_CURRENT_SOURCE
64
- ruby_set_current_source();
65
- #endif
66
- g_printerr("%s: line %d\n", rb_sourcefile(), rb_sourceline());
67
- g_printerr(" %s-%s **:%s\n", log_domain, logmessage(log_level), message);
63
+ if (!log_canceled) {
64
+ g_printerr("%s-%s **: %s\n",
65
+ log_domain, logmessage(log_level), message);
66
+ if (rb_during_gc()) {
67
+ g_printerr("\tfrom %s:%d\n", rb_sourcefile(), rb_sourceline());
68
+ } else {
69
+ VALUE backtrace;
70
+
71
+ backtrace = rb_funcall(rb_mKernel, rb_intern("caller"), 0);
72
+ rb_iterate(rb_each, backtrace,
73
+ rbg_printerr, Qnil);
74
+ }
68
75
  } else {
69
76
  g_log_default_handler(log_domain, log_level, message, user_data);
70
77
  }
@@ -1,6 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
3
+ * Copyright (C) 2011-2016 Ruby-GNOME2 Project Team
4
4
  * Copyright (C) 2002-2006 Ruby-GNOME2 Project
5
5
  * Copyright (C) 2002,2003 Masahiro Sakai
6
6
  *
@@ -38,6 +38,7 @@ struct _GRClosure
38
38
  gint count;
39
39
  GList *objects;
40
40
  GValToRValSignalFunc g2r_func;
41
+ RGClosureCallFunc call_func;
41
42
  gchar tag[TAG_SIZE];
42
43
  };
43
44
 
@@ -70,38 +71,51 @@ rclosure_alive_p(GRClosure *rclosure)
70
71
  static VALUE
71
72
  rclosure_marshal_do(VALUE arg_)
72
73
  {
74
+ VALUE ret = Qnil;
73
75
  struct marshal_arg *arg;
74
- GRClosure* rclosure;
75
- GValue* return_value;
76
- guint n_param_values;
77
- const GValue* param_values;
78
- /* gpointer invocation_hint;*/
79
- /* gpointer marshal_data; */
76
+ GRClosure *rclosure;
77
+ GValue *return_value;
80
78
 
81
- VALUE ret = Qnil;
82
- VALUE args;
83
- GValToRValSignalFunc func;
84
-
85
- arg = (struct marshal_arg*)arg_;
86
- rclosure = (GRClosure *)(arg->closure);
87
- return_value = arg->return_value;
88
- n_param_values = arg->n_param_values;
89
- param_values = arg->param_values;
90
- /* invocation_hint = arg->invocation_hint; */
91
- /* marshal_data = arg->marshal_data; */
92
-
93
- if (rclosure->g2r_func){
94
- func = (GValToRValSignalFunc)rclosure->g2r_func;
95
- } else {
96
- func = (GValToRValSignalFunc)rclosure_default_g2r_func;
97
- }
98
- args = (*func)(n_param_values, param_values);
79
+ arg = (struct marshal_arg *)arg_;
80
+ rclosure = (GRClosure *)(arg->closure);
81
+ return_value = arg->return_value;
99
82
 
100
83
  if (rclosure_alive_p(rclosure)) {
101
- VALUE callback, extra_args;
84
+ guint n_param_values;
85
+ const GValue *param_values;
86
+ /* gpointer invocation_hint;*/
87
+ /* gpointer marshal_data; */
88
+ GValToRValSignalFunc g2r_func;
89
+ VALUE callback;
90
+ VALUE extra_args;
91
+ VALUE args;
92
+
93
+ n_param_values = arg->n_param_values;
94
+ param_values = arg->param_values;
95
+ /* invocation_hint = arg->invocation_hint; */
96
+ /* marshal_data = arg->marshal_data; */
97
+
102
98
  callback = rclosure->callback;
103
99
  extra_args = rclosure->extra_args;
104
100
 
101
+ if (rclosure->call_func) {
102
+ RGClosureCallData data;
103
+ data.return_value = return_value;
104
+ data.n_param_values = n_param_values;
105
+ data.param_values = param_values;
106
+ data.callback = callback;
107
+ data.extra_args = extra_args;
108
+ rclosure->call_func(&data);
109
+ return Qnil;
110
+ }
111
+
112
+ if (rclosure->g2r_func) {
113
+ g2r_func = (GValToRValSignalFunc)rclosure->g2r_func;
114
+ } else {
115
+ g2r_func = (GValToRValSignalFunc)rclosure_default_g2r_func;
116
+ }
117
+ args = (*g2r_func)(n_param_values, param_values);
118
+
105
119
  if (!NIL_P(extra_args)) {
106
120
  args = rb_ary_concat(args, extra_args);
107
121
  }
@@ -210,8 +224,11 @@ gr_closure_holder_free(GRClosure *rclosure)
210
224
  }
211
225
  }
212
226
 
213
- GClosure*
214
- g_rclosure_new(VALUE callback_proc, VALUE extra_args, GValToRValSignalFunc g2r_func)
227
+ static GClosure *
228
+ g_rclosure_new_raw(VALUE callback_proc,
229
+ VALUE extra_args,
230
+ GValToRValSignalFunc g2r_func,
231
+ RGClosureCallFunc call_func)
215
232
  {
216
233
  GRClosure* closure;
217
234
 
@@ -219,6 +236,7 @@ g_rclosure_new(VALUE callback_proc, VALUE extra_args, GValToRValSignalFunc g2r_f
219
236
 
220
237
  closure->count = 1;
221
238
  closure->g2r_func = g2r_func;
239
+ closure->call_func = call_func;
222
240
  closure->objects = NULL;
223
241
  closure->callback = callback_proc;
224
242
  closure->extra_args = extra_args;
@@ -235,6 +253,25 @@ g_rclosure_new(VALUE callback_proc, VALUE extra_args, GValToRValSignalFunc g2r_f
235
253
  return (GClosure*)closure;
236
254
  }
237
255
 
256
+ GClosure *
257
+ g_rclosure_new(VALUE callback_proc,
258
+ VALUE extra_args,
259
+ GValToRValSignalFunc g2r_func)
260
+ {
261
+ return g_rclosure_new_raw(callback_proc, extra_args, g2r_func, NULL);
262
+ }
263
+
264
+ GClosure *
265
+ g_rclosure_new_call(VALUE callback_proc,
266
+ VALUE extra_args,
267
+ RGClosureCallFunc call_func)
268
+ {
269
+ return g_rclosure_new_raw(callback_proc,
270
+ extra_args,
271
+ NULL,
272
+ call_func);
273
+ }
274
+
238
275
  static void
239
276
  rclosure_weak_notify(gpointer data, GObject* where_the_object_was)
240
277
  {
@@ -51,6 +51,28 @@ rbgobj_get_signal_func(guint signal_id)
51
51
  return func;
52
52
  }
53
53
 
54
+ static VALUE signal_call_func_table;
55
+
56
+ void
57
+ rbgobj_set_signal_call_func(VALUE klass,
58
+ const gchar *signal_name,
59
+ RGClosureCallFunc func)
60
+ {
61
+ VALUE obj = Data_Wrap_Struct(rb_cData, NULL, NULL, func);
62
+ guint signal_id = g_signal_lookup(signal_name, CLASS2GTYPE(klass));
63
+ rb_hash_aset(signal_call_func_table, UINT2NUM(signal_id), obj);
64
+ }
65
+
66
+ RGClosureCallFunc
67
+ rbgobj_get_signal_call_func(guint signal_id)
68
+ {
69
+ RGClosureCallFunc func = NULL;
70
+ VALUE func_obj = rb_hash_aref(signal_call_func_table, UINT2NUM(signal_id));
71
+ if (!NIL_P(func_obj))
72
+ Data_Get_Struct(func_obj, void, func);
73
+ return func;
74
+ }
75
+
54
76
  /**********************************************************************/
55
77
 
56
78
  static VALUE eNoSignalError;
@@ -321,8 +343,19 @@ gobj_sig_connect_impl(gboolean after, int argc, VALUE *argv, VALUE self)
321
343
  rb_str_new_cstr(normalized_signal_name),
322
344
  rb_block_proc());
323
345
  }
324
- rclosure = g_rclosure_new(func, rest,
325
- rbgobj_get_signal_func(signal_id));
346
+ {
347
+ RGClosureCallFunc call_func;
348
+ call_func = rbgobj_get_signal_call_func(signal_id);
349
+ if (call_func) {
350
+ rclosure = g_rclosure_new_call(func,
351
+ rest,
352
+ call_func);
353
+ } else {
354
+ rclosure = g_rclosure_new(func,
355
+ rest,
356
+ rbgobj_get_signal_func(signal_id));
357
+ }
358
+ }
326
359
  g_rclosure_attach((GClosure *)rclosure, self);
327
360
  g_object = RVAL2GOBJ(self);
328
361
  tag = g_strdup_printf("%s::%s",
@@ -947,6 +980,9 @@ Init_gobject_gsignal(void)
947
980
  signal_func_table = rb_hash_new();
948
981
  rb_global_variable(&signal_func_table);
949
982
 
983
+ signal_call_func_table = rb_hash_new();
984
+ rb_global_variable(&signal_call_func_table);
985
+
950
986
  rbg_define_method(mMetaInterface, "signal_new", gobj_s_signal_new, -1);
951
987
  rbg_define_method(mMetaInterface, "signals", gobj_s_signals, -1);
952
988
  rbg_define_method(mMetaInterface, "signal", gobj_s_signal, 1);