fxruby 1.6.41-x64-mingw32 → 1.6.45-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (375) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/.yardopts +1 -1
  4. data/Gemfile +2 -3
  5. data/History.md +26 -0
  6. data/README.rdoc +10 -5
  7. data/Rakefile +16 -5
  8. data/appveyor.yml +8 -7
  9. data/docs/Fox/Canvas/CanvasError.html +124 -0
  10. data/docs/Fox/Canvas/CircleShape.html +477 -0
  11. data/docs/Fox/Canvas/ImageShape.html +477 -0
  12. data/docs/Fox/Canvas/LineShape.html +1005 -0
  13. data/docs/Fox/Canvas/PolygonShape.html +145 -0
  14. data/docs/Fox/Canvas/RectangleShape.html +439 -0
  15. data/docs/Fox/Canvas/SelectionPolicy.html +352 -0
  16. data/docs/Fox/Canvas/Shape.html +1955 -0
  17. data/docs/Fox/Canvas/ShapeCanvas.html +2031 -0
  18. data/docs/Fox/Canvas/ShapeGroup.html +527 -0
  19. data/docs/Fox/Canvas/SingleSelectionPolicy.html +291 -0
  20. data/docs/Fox/Canvas/TextShape.html +609 -0
  21. data/docs/Fox/Canvas.html +141 -0
  22. data/docs/Fox/FTNonModal.html +550 -0
  23. data/docs/Fox/FX4Splitter.html +1336 -0
  24. data/docs/Fox/FX7Segment.html +1010 -0
  25. data/docs/Fox/FXAccelTable.html +715 -0
  26. data/docs/Fox/FXApp.html +7998 -0
  27. data/docs/Fox/FXArc.html +562 -0
  28. data/docs/Fox/FXArrowButton.html +865 -0
  29. data/docs/Fox/FXBMPIcon.html +450 -0
  30. data/docs/Fox/FXBMPImage.html +434 -0
  31. data/docs/Fox/FXBitmap.html +1362 -0
  32. data/docs/Fox/FXBitmapFrame.html +595 -0
  33. data/docs/Fox/FXBitmapView.html +1451 -0
  34. data/docs/Fox/FXButton.html +534 -0
  35. data/docs/Fox/FXCURCursor.html +261 -0
  36. data/docs/Fox/FXCalendar.html +880 -0
  37. data/docs/Fox/FXCanvas.html +311 -0
  38. data/docs/Fox/FXCheckButton.html +949 -0
  39. data/docs/Fox/FXChoiceBox.html +472 -0
  40. data/docs/Fox/FXColor.html +1519 -0
  41. data/docs/Fox/FXColorBar.html +759 -0
  42. data/docs/Fox/FXColorDialog.html +591 -0
  43. data/docs/Fox/FXColorItem.html +323 -0
  44. data/docs/Fox/FXColorList.html +712 -0
  45. data/docs/Fox/FXColorRing.html +817 -0
  46. data/docs/Fox/FXColorSelector.html +796 -0
  47. data/docs/Fox/FXColorWell.html +850 -0
  48. data/docs/Fox/FXColorWheel.html +770 -0
  49. data/docs/Fox/FXComboBox.html +2939 -0
  50. data/docs/Fox/FXComboTableItem.html +544 -0
  51. data/docs/Fox/FXCommand.html +526 -0
  52. data/docs/Fox/FXComposite.html +433 -0
  53. data/docs/Fox/FXCursor.html +779 -0
  54. data/docs/Fox/FXDC.html +5231 -0
  55. data/docs/Fox/FXDCPrint.html +696 -0
  56. data/docs/Fox/FXDCWindow.html +358 -0
  57. data/docs/Fox/FXDataTarget.html +573 -0
  58. data/docs/Fox/FXDebugTarget.html +305 -0
  59. data/docs/Fox/FXDelegator.html +305 -0
  60. data/docs/Fox/FXDial.html +1133 -0
  61. data/docs/Fox/FXDialogBox.html +413 -0
  62. data/docs/Fox/FXDict.html +1063 -0
  63. data/docs/Fox/FXDirBox.html +752 -0
  64. data/docs/Fox/FXDirDialog.html +914 -0
  65. data/docs/Fox/FXDirItem.html +989 -0
  66. data/docs/Fox/FXDirList.html +1554 -0
  67. data/docs/Fox/FXDirSelector.html +995 -0
  68. data/docs/Fox/FXDockBar.html +1451 -0
  69. data/docs/Fox/FXDockHandler.html +468 -0
  70. data/docs/Fox/FXDockSite.html +678 -0
  71. data/docs/Fox/FXDockTitle.html +606 -0
  72. data/docs/Fox/FXDocument.html +536 -0
  73. data/docs/Fox/FXDragCorner.html +440 -0
  74. data/docs/Fox/FXDrawable.html +478 -0
  75. data/docs/Fox/FXDriveBox.html +746 -0
  76. data/docs/Fox/FXEvent.html +1736 -0
  77. data/docs/Fox/FXExtentd.html +1374 -0
  78. data/docs/Fox/FXExtentf.html +1374 -0
  79. data/docs/Fox/FXFileAssoc.html +850 -0
  80. data/docs/Fox/FXFileDialog.html +2688 -0
  81. data/docs/Fox/FXFileDict.html +1058 -0
  82. data/docs/Fox/FXFileItem.html +1141 -0
  83. data/docs/Fox/FXFileList.html +2259 -0
  84. data/docs/Fox/FXFileSelector.html +2529 -0
  85. data/docs/Fox/FXFileStream.html +503 -0
  86. data/docs/Fox/FXFoldingItem.html +2822 -0
  87. data/docs/Fox/FXFoldingList.html +5189 -0
  88. data/docs/Fox/FXFont.html +2998 -0
  89. data/docs/Fox/FXFontDesc.html +710 -0
  90. data/docs/Fox/FXFontDialog.html +420 -0
  91. data/docs/Fox/FXFontSelector.html +576 -0
  92. data/docs/Fox/FXFrame.html +1012 -0
  93. data/docs/Fox/FXGIFCursor.html +337 -0
  94. data/docs/Fox/FXGIFIcon.html +450 -0
  95. data/docs/Fox/FXGIFImage.html +434 -0
  96. data/docs/Fox/FXGLCanvas.html +700 -0
  97. data/docs/Fox/FXGLCone.html +785 -0
  98. data/docs/Fox/FXGLContext.html +649 -0
  99. data/docs/Fox/FXGLCube.html +703 -0
  100. data/docs/Fox/FXGLCylinder.html +791 -0
  101. data/docs/Fox/FXGLGroup.html +1385 -0
  102. data/docs/Fox/FXGLLine.html +653 -0
  103. data/docs/Fox/FXGLObject.html +759 -0
  104. data/docs/Fox/FXGLPoint.html +561 -0
  105. data/docs/Fox/FXGLShape.html +714 -0
  106. data/docs/Fox/FXGLSphere.html +626 -0
  107. data/docs/Fox/FXGLViewer.html +3506 -0
  108. data/docs/Fox/FXGLVisual.html +2147 -0
  109. data/docs/Fox/FXGradient.html +562 -0
  110. data/docs/Fox/FXGradientBar.html +2479 -0
  111. data/docs/Fox/FXGroupBox.html +688 -0
  112. data/docs/Fox/FXHeader.html +3040 -0
  113. data/docs/Fox/FXHeaderItem.html +1353 -0
  114. data/docs/Fox/FXHiliteStyle.html +804 -0
  115. data/docs/Fox/FXHorizontalFrame.html +359 -0
  116. data/docs/Fox/FXHorizontalSeparator.html +349 -0
  117. data/docs/Fox/FXICOIcon.html +450 -0
  118. data/docs/Fox/FXICOImage.html +434 -0
  119. data/docs/Fox/FXIcon.html +384 -0
  120. data/docs/Fox/FXIconDict.html +752 -0
  121. data/docs/Fox/FXIconItem.html +1518 -0
  122. data/docs/Fox/FXIconList.html +4676 -0
  123. data/docs/Fox/FXIconSource.html +963 -0
  124. data/docs/Fox/FXId.html +712 -0
  125. data/docs/Fox/FXImage.html +2328 -0
  126. data/docs/Fox/FXImageFrame.html +489 -0
  127. data/docs/Fox/FXImageView.html +504 -0
  128. data/docs/Fox/FXInputDialog.html +894 -0
  129. data/docs/Fox/FXIrb.html +942 -0
  130. data/docs/Fox/FXJPGIcon.html +607 -0
  131. data/docs/Fox/FXJPGImage.html +591 -0
  132. data/docs/Fox/FXKnob.html +1048 -0
  133. data/docs/Fox/FXLabel.html +1013 -0
  134. data/docs/Fox/FXLight.html +920 -0
  135. data/docs/Fox/FXList.html +3717 -0
  136. data/docs/Fox/FXListBox.html +2518 -0
  137. data/docs/Fox/FXListItem.html +1459 -0
  138. data/docs/Fox/FXMDIChild.html +2175 -0
  139. data/docs/Fox/FXMDIClient.html +781 -0
  140. data/docs/Fox/FXMDIDeleteButton.html +334 -0
  141. data/docs/Fox/FXMDIMaximizeButton.html +334 -0
  142. data/docs/Fox/FXMDIMenu.html +335 -0
  143. data/docs/Fox/FXMDIMinimizeButton.html +334 -0
  144. data/docs/Fox/FXMDIRestoreButton.html +334 -0
  145. data/docs/Fox/FXMDIWindowButton.html +334 -0
  146. data/docs/Fox/FXMainWindow.html +337 -0
  147. data/docs/Fox/FXMaterial.html +570 -0
  148. data/docs/Fox/FXMatrix.html +734 -0
  149. data/docs/Fox/FXMemoryBuffer.html +472 -0
  150. data/docs/Fox/FXMemoryStream.html +632 -0
  151. data/docs/Fox/FXMenuBar.html +347 -0
  152. data/docs/Fox/FXMenuButton.html +829 -0
  153. data/docs/Fox/FXMenuCaption.html +1080 -0
  154. data/docs/Fox/FXMenuCascade.html +388 -0
  155. data/docs/Fox/FXMenuCheck.html +721 -0
  156. data/docs/Fox/FXMenuCommand.html +400 -0
  157. data/docs/Fox/FXMenuPane.html +333 -0
  158. data/docs/Fox/FXMenuRadio.html +721 -0
  159. data/docs/Fox/FXMenuSeparator.html +440 -0
  160. data/docs/Fox/FXMenuTitle.html +405 -0
  161. data/docs/Fox/FXMessageBox.html +658 -0
  162. data/docs/Fox/FXObject.html +545 -0
  163. data/docs/Fox/FXOption.html +491 -0
  164. data/docs/Fox/FXOptionMenu.html +885 -0
  165. data/docs/Fox/FXPCXIcon.html +450 -0
  166. data/docs/Fox/FXPCXImage.html +434 -0
  167. data/docs/Fox/FXPNGIcon.html +524 -0
  168. data/docs/Fox/FXPNGImage.html +508 -0
  169. data/docs/Fox/FXPPMIcon.html +450 -0
  170. data/docs/Fox/FXPPMImage.html +373 -0
  171. data/docs/Fox/FXPSBounds.html +500 -0
  172. data/docs/Fox/FXPacker.html +1229 -0
  173. data/docs/Fox/FXPicker.html +345 -0
  174. data/docs/Fox/FXPopup.html +1099 -0
  175. data/docs/Fox/FXPrintDialog.html +485 -0
  176. data/docs/Fox/FXPrinter.html +1330 -0
  177. data/docs/Fox/FXProgressBar.html +1150 -0
  178. data/docs/Fox/FXProgressDialog.html +715 -0
  179. data/docs/Fox/FXPseudoKeyboard.html +428 -0
  180. data/docs/Fox/FXPseudoMouse.html +800 -0
  181. data/docs/Fox/FXPseudoTarget.html +472 -0
  182. data/docs/Fox/FXQuatd.html +1377 -0
  183. data/docs/Fox/FXQuatf.html +1392 -0
  184. data/docs/Fox/FXRGBIcon.html +450 -0
  185. data/docs/Fox/FXRGBImage.html +434 -0
  186. data/docs/Fox/FXRadioButton.html +885 -0
  187. data/docs/Fox/FXRanged.html +1522 -0
  188. data/docs/Fox/FXRangef.html +1522 -0
  189. data/docs/Fox/FXRealSlider.html +1187 -0
  190. data/docs/Fox/FXRealSpinner.html +2175 -0
  191. data/docs/Fox/FXRecentFiles.html +841 -0
  192. data/docs/Fox/FXRectangle.html +802 -0
  193. data/docs/Fox/FXRegion.html +841 -0
  194. data/docs/Fox/FXRegistry.html +682 -0
  195. data/docs/Fox/FXReplaceDialog.html +648 -0
  196. data/docs/Fox/FXRootWindow.html +312 -0
  197. data/docs/Fox/FXRuler.html +2000 -0
  198. data/docs/Fox/FXRulerView.html +3997 -0
  199. data/docs/Fox/FXScintilla.html +49117 -0
  200. data/docs/Fox/FXScrollArea.html +1363 -0
  201. data/docs/Fox/FXScrollBar.html +1019 -0
  202. data/docs/Fox/FXScrollCorner.html +290 -0
  203. data/docs/Fox/FXScrollPane.html +499 -0
  204. data/docs/Fox/FXScrollWindow.html +409 -0
  205. data/docs/Fox/FXSearchDialog.html +382 -0
  206. data/docs/Fox/FXSegment.html +422 -0
  207. data/docs/Fox/FXSeparator.html +402 -0
  208. data/docs/Fox/FXSettings.html +1861 -0
  209. data/docs/Fox/FXShell.html +233 -0
  210. data/docs/Fox/FXShutter.html +472 -0
  211. data/docs/Fox/FXShutterItem.html +669 -0
  212. data/docs/Fox/FXSize.html +592 -0
  213. data/docs/Fox/FXSlider.html +1129 -0
  214. data/docs/Fox/FXSphered.html +906 -0
  215. data/docs/Fox/FXSpheref.html +906 -0
  216. data/docs/Fox/FXSpinner.html +2102 -0
  217. data/docs/Fox/FXSplashScreen.html +497 -0
  218. data/docs/Fox/FXSplashWindow.html +494 -0
  219. data/docs/Fox/FXSplitter.html +643 -0
  220. data/docs/Fox/FXSpring.html +517 -0
  221. data/docs/Fox/FXStatusBar.html +593 -0
  222. data/docs/Fox/FXStatusLine.html +754 -0
  223. data/docs/Fox/FXStream.html +1372 -0
  224. data/docs/Fox/FXStreamAllocError.html +148 -0
  225. data/docs/Fox/FXStreamEndError.html +148 -0
  226. data/docs/Fox/FXStreamError.html +259 -0
  227. data/docs/Fox/FXStreamFailureError.html +148 -0
  228. data/docs/Fox/FXStreamFormatError.html +148 -0
  229. data/docs/Fox/FXStreamFullError.html +148 -0
  230. data/docs/Fox/FXStreamNoReadError.html +148 -0
  231. data/docs/Fox/FXStreamNoWriteError.html +148 -0
  232. data/docs/Fox/FXStreamUnknownError.html +148 -0
  233. data/docs/Fox/FXStringDict.html +552 -0
  234. data/docs/Fox/FXSwitcher.html +619 -0
  235. data/docs/Fox/FXTGAIcon.html +450 -0
  236. data/docs/Fox/FXTGAImage.html +434 -0
  237. data/docs/Fox/FXTIFIcon.html +604 -0
  238. data/docs/Fox/FXTIFImage.html +588 -0
  239. data/docs/Fox/FXTabBar.html +644 -0
  240. data/docs/Fox/FXTabBook.html +373 -0
  241. data/docs/Fox/FXTabItem.html +478 -0
  242. data/docs/Fox/FXTable.html +10107 -0
  243. data/docs/Fox/FXTableItem.html +2195 -0
  244. data/docs/Fox/FXTablePos.html +360 -0
  245. data/docs/Fox/FXTableRange.html +360 -0
  246. data/docs/Fox/FXText.html +6870 -0
  247. data/docs/Fox/FXTextChange.html +492 -0
  248. data/docs/Fox/FXTextField.html +2016 -0
  249. data/docs/Fox/FXToggleButton.html +844 -0
  250. data/docs/Fox/FXToolBar.html +452 -0
  251. data/docs/Fox/FXToolBarGrip.html +584 -0
  252. data/docs/Fox/FXToolBarShell.html +788 -0
  253. data/docs/Fox/FXToolBarTab.html +729 -0
  254. data/docs/Fox/FXToolTip.html +761 -0
  255. data/docs/Fox/FXTopWindow.html +1716 -0
  256. data/docs/Fox/FXTranslator.html +481 -0
  257. data/docs/Fox/FXTreeItem.html +2813 -0
  258. data/docs/Fox/FXTreeList.html +5095 -0
  259. data/docs/Fox/FXTreeListBox.html +3080 -0
  260. data/docs/Fox/FXTriStateButton.html +681 -0
  261. data/docs/Fox/FXUndoList.html +2560 -0
  262. data/docs/Fox/FXVec2d.html +1450 -0
  263. data/docs/Fox/FXVec2f.html +1442 -0
  264. data/docs/Fox/FXVec3d.html +1649 -0
  265. data/docs/Fox/FXVec3f.html +1649 -0
  266. data/docs/Fox/FXVec4d.html +1858 -0
  267. data/docs/Fox/FXVec4f.html +1858 -0
  268. data/docs/Fox/FXVerticalFrame.html +359 -0
  269. data/docs/Fox/FXVerticalSeparator.html +349 -0
  270. data/docs/Fox/FXViewport.html +780 -0
  271. data/docs/Fox/FXVisual.html +1023 -0
  272. data/docs/Fox/FXWindow.html +9948 -0
  273. data/docs/Fox/FXWizard.html +1052 -0
  274. data/docs/Fox/FXXBMIcon.html +453 -0
  275. data/docs/Fox/FXXBMImage.html +437 -0
  276. data/docs/Fox/FXXPMIcon.html +450 -0
  277. data/docs/Fox/FXXPMImage.html +434 -0
  278. data/docs/Fox/NotifyHeader.html +286 -0
  279. data/docs/Fox/SCNotification.html +1438 -0
  280. data/docs/Fox/TextRange.html +281 -0
  281. data/docs/Fox.html +11184 -0
  282. data/docs/IRB.html +204 -0
  283. data/docs/Responder.html +693 -0
  284. data/docs/Responder2.html +225 -0
  285. data/docs/_index.html +2101 -0
  286. data/docs/class_list.html +51 -0
  287. data/docs/css/common.css +1 -0
  288. data/docs/css/full_list.css +58 -0
  289. data/docs/css/style.css +496 -0
  290. data/docs/file.History.html +869 -0
  291. data/docs/file.README.html +104 -0
  292. data/docs/file_list.html +66 -0
  293. data/docs/frames.html +17 -0
  294. data/docs/index.html +614 -0
  295. data/docs/js/app.js +314 -0
  296. data/docs/js/full_list.js +216 -0
  297. data/docs/js/jquery.js +4 -0
  298. data/docs/method_list.html +31043 -0
  299. data/docs/top-level-namespace.html +214 -0
  300. data/examples/canvasdemo.rb +5 -1
  301. data/examples/gltest.rb +162 -106
  302. data/examples/glviewer.rb +12 -8
  303. data/ext/fox16_c/core_wrap.cpp +117 -115
  304. data/ext/fox16_c/dc_wrap.cpp +82 -60
  305. data/ext/fox16_c/dialogs_wrap.cpp +87 -67
  306. data/ext/fox16_c/extconf.rb +12 -12
  307. data/ext/fox16_c/frames_wrap.cpp +101 -75
  308. data/ext/fox16_c/fx3d_wrap.cpp +258 -302
  309. data/ext/fox16_c/iconlist_wrap.cpp +70 -52
  310. data/ext/fox16_c/icons_wrap.cpp +75 -55
  311. data/ext/fox16_c/image_wrap.cpp +75 -57
  312. data/ext/fox16_c/label_wrap.cpp +78 -60
  313. data/ext/fox16_c/layout_wrap.cpp +83 -65
  314. data/ext/fox16_c/list_wrap.cpp +70 -52
  315. data/ext/fox16_c/mdi_wrap.cpp +76 -58
  316. data/ext/fox16_c/menu_wrap.cpp +78 -60
  317. data/ext/fox16_c/scintilla_wrap.cpp +85 -61
  318. data/ext/fox16_c/swigruby.h +64 -46
  319. data/ext/fox16_c/table_wrap.cpp +80 -58
  320. data/ext/fox16_c/text_wrap.cpp +75 -55
  321. data/ext/fox16_c/treelist_wrap.cpp +71 -53
  322. data/ext/fox16_c/ui_wrap.cpp +101 -81
  323. data/fxruby.gemspec +1 -1
  324. data/lib/2.4/fox16_c.so +0 -0
  325. data/lib/2.5/fox16_c.so +0 -0
  326. data/lib/2.6/fox16_c.so +0 -0
  327. data/lib/2.7/fox16_c.so +0 -0
  328. data/lib/{2.2 → 3.0}/fox16_c.so +0 -0
  329. data/lib/fox16/aliases.rb +0 -0
  330. data/lib/fox16/bitmapview.rb +0 -0
  331. data/lib/fox16/calendar.rb +0 -0
  332. data/lib/fox16/canvas.rb +76 -45
  333. data/lib/fox16/chore.rb +0 -0
  334. data/lib/fox16/colors.rb +0 -0
  335. data/lib/fox16/core.rb +0 -0
  336. data/lib/fox16/dict.rb +0 -0
  337. data/lib/fox16/glgroup.rb +5 -5
  338. data/lib/fox16/glshapes.rb +111 -99
  339. data/lib/fox16/input.rb +0 -0
  340. data/lib/fox16/irb.rb +0 -0
  341. data/lib/fox16/iterators.rb +0 -0
  342. data/lib/fox16/keys.rb +0 -0
  343. data/lib/fox16/missingdep.rb +0 -0
  344. data/lib/fox16/pseudokeyboard.rb +0 -0
  345. data/lib/fox16/pseudomouse.rb +0 -0
  346. data/lib/fox16/responder.rb +0 -0
  347. data/lib/fox16/responder2.rb +0 -0
  348. data/lib/fox16/scintilla.rb +0 -0
  349. data/lib/fox16/settings.rb +0 -0
  350. data/lib/fox16/signal.rb +0 -0
  351. data/lib/fox16/timeout.rb +0 -0
  352. data/lib/fox16/tkcompat.rb +0 -0
  353. data/lib/fox16/undolist.rb +0 -0
  354. data/lib/fox16/version.rb +1 -1
  355. data/lib/fox16.rb +2 -4
  356. data/ports/x64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  357. data/ports/x64-mingw32/bin/libfxscintilla-20.dll +0 -0
  358. data/ports/x64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  359. data/ports/x64-mingw32/bin/libjpeg-62.dll +0 -0
  360. data/ports/x64-mingw32/bin/libpng16-16.dll +0 -0
  361. data/ports/x64-mingw32/bin/libstdc++-6.dll +0 -0
  362. data/ports/x64-mingw32/bin/libtiff-5.dll +0 -0
  363. data/ports/x64-mingw32/bin/libwinpthread-1.dll +0 -0
  364. data/ports/x64-mingw32/bin/zlib1.dll +0 -0
  365. metadata +310 -20
  366. data/lib/2.3/fox16_c.so +0 -0
  367. data/ports/x86_64-w64-mingw32/bin/libFOX-1.6-0.dll +0 -0
  368. data/ports/x86_64-w64-mingw32/bin/libfxscintilla-20.dll +0 -0
  369. data/ports/x86_64-w64-mingw32/bin/libgcc_s_seh-1.dll +0 -0
  370. data/ports/x86_64-w64-mingw32/bin/libjpeg-62.dll +0 -0
  371. data/ports/x86_64-w64-mingw32/bin/libpng16-16.dll +0 -0
  372. data/ports/x86_64-w64-mingw32/bin/libstdc++-6.dll +0 -0
  373. data/ports/x86_64-w64-mingw32/bin/libtiff-5.dll +0 -0
  374. data/ports/x86_64-w64-mingw32/bin/libwinpthread-1.dll +0 -0
  375. data/ports/x86_64-w64-mingw32/bin/zlib1.dll +0 -0
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 3.0.12
3
+ * Version 4.0.2
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -331,6 +331,7 @@ template <typename T> T SwigValueInit() {
331
331
  /* Flags for pointer conversions */
332
332
  #define SWIG_POINTER_DISOWN 0x1
333
333
  #define SWIG_CAST_NEW_MEMORY 0x2
334
+ #define SWIG_POINTER_NO_NULL 0x4
334
335
 
335
336
  /* Flags for new pointer objects */
336
337
  #define SWIG_POINTER_OWN 0x1
@@ -982,42 +983,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
982
983
  #ifndef RSTRUCT_PTR
983
984
  # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
984
985
  #endif
986
+ #ifndef RTYPEDDATA_P
987
+ # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
988
+ #endif
985
989
 
986
990
 
987
991
 
988
992
  /*
989
- * Need to be very careful about how these macros are defined, especially
990
- * when compiling C++ code or C code with an ANSI C compiler.
993
+ * The following macros are used for providing the correct type of a
994
+ * function pointer to the Ruby C API.
995
+ * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
996
+ * defined) these macros act transparently due to Ruby's moving away from
997
+ * ANYARGS and instead employing strict function signatures.
998
+ *
999
+ * Note: In case of C (not C++) the macros are transparent even before
1000
+ * Ruby 2.7 due to the fact that the Ruby C API used function declarators
1001
+ * with empty parentheses, which allows for an unspecified number of
1002
+ * arguments.
1003
+ *
1004
+ * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
1005
+ * C API function rb_protect().
991
1006
  *
992
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
993
- * a Ruby method so that it can be passed as an argument to API functions
994
- * like rb_define_method() and rb_define_singleton_method().
1007
+ * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
1008
+ * functions like rb_define_method() and rb_define_singleton_method().
995
1009
  *
996
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
997
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
998
- * can be passed as an argument to API functions like Data_Wrap_Struct()
1010
+ * VOIDFUNC(f) is used to typecast a C function that implements either
1011
+ * the "mark" or "free" stuff for a Ruby Data object, so that it can be
1012
+ * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
999
1013
  * and Data_Make_Struct().
1014
+ *
1015
+ * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
1016
+ * argument(s) of Ruby C API functions like rb_define_virtual_variable().
1017
+ *
1018
+ * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
1019
+ * argument(s) of Ruby C API functions like st_foreach().
1000
1020
  */
1001
-
1002
- #ifdef __cplusplus
1003
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
1004
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1005
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1006
- # define VOIDFUNC(f) ((void (*)()) f)
1007
- # else
1008
- # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
1009
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1010
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1011
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1012
- # else /* These definitions should work for Ruby 1.7+ */
1013
- # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1014
- # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1015
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1016
- # endif
1017
- # endif
1021
+ #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
1022
+ # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1023
+ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1024
+ # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1025
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
1026
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
1018
1027
  #else
1028
+ # define PROTECTFUNC(f) (f)
1019
1029
  # define VALUEFUNC(f) (f)
1020
1030
  # define VOIDFUNC(f) (f)
1031
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
1032
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
1021
1033
  #endif
1022
1034
 
1023
1035
  /* Don't use for expressions have side effect */
@@ -1205,7 +1217,7 @@ void Ruby_Format_OverloadedError(
1205
1217
  /* -----------------------------------------------------------------------------
1206
1218
  * rubytracking.swg
1207
1219
  *
1208
- * This file contains support for tracking mappings from
1220
+ * This file contains support for tracking mappings from
1209
1221
  * Ruby objects to C++ objects. This functionality is needed
1210
1222
  * to implement mark functions for Ruby's mark and sweep
1211
1223
  * garbage collector.
@@ -1232,7 +1244,7 @@ extern "C" {
1232
1244
  #endif
1233
1245
 
1234
1246
  /* Global hash table to store Trackings from C/C++
1235
- structs to Ruby Objects.
1247
+ structs to Ruby Objects.
1236
1248
  */
1237
1249
  static st_table* swig_ruby_trackings = NULL;
1238
1250
 
@@ -1246,7 +1258,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1246
1258
  /* Create a hash table to store Trackings from C++
1247
1259
  objects to Ruby objects. */
1248
1260
 
1249
- /* Try to see if some other .so has already created a
1261
+ /* Try to see if some other .so has already created a
1250
1262
  tracking hash table, which we keep hidden in an instance var
1251
1263
  in the SWIG module.
1252
1264
  This is done to allow multiple DSOs to share the same
@@ -1273,8 +1285,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1273
1285
  swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
1274
1286
  }
1275
1287
 
1276
- rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", RUBY_VALUE_METHOD_FUNC(swig_ruby_trackings_count), RUBY_VOID_METHOD_FUNC((rb_gvar_setter_t*)NULL))
1277
- ;
1288
+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
1289
+ VALUEFUNC(swig_ruby_trackings_count),
1290
+ SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
1278
1291
  }
1279
1292
 
1280
1293
  /* Add a Tracking from a C/C++ struct to a Ruby object */
@@ -1306,13 +1319,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
1306
1319
 
1307
1320
  /* This is a helper method that unlinks a Ruby object from its
1308
1321
  underlying C++ object. This is needed if the lifetime of the
1309
- Ruby object is longer than the C++ object */
1322
+ Ruby object is longer than the C++ object. */
1310
1323
  SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1311
1324
  VALUE object = SWIG_RubyInstanceFor(ptr);
1312
1325
 
1313
1326
  if (object != Qnil) {
1314
- if (TYPE(object) != T_DATA)
1315
- abort();
1327
+ // object might have the T_ZOMBIE type, but that's just
1328
+ // because the GC has flagged it as such for a deferred
1329
+ // destruction. Until then, it's still a T_DATA object.
1316
1330
  DATA_PTR(object) = 0;
1317
1331
  }
1318
1332
  }
@@ -1322,14 +1336,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1322
1336
  to the passed callback function. */
1323
1337
 
1324
1338
  /* Proxy method to abstract the internal trackings datatype */
1325
- static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1326
- ((void(*)(void*, VALUE))meth)((void*)ptr, (VALUE)obj);
1327
-
1339
+ static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1340
+ ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
1328
1341
  return ST_CONTINUE;
1329
1342
  }
1330
1343
 
1331
1344
  SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
1332
- st_foreach(swig_ruby_trackings, RUBY_INT_METHOD_FUNC(swig_ruby_internal_iterate_callback), (st_data_t)meth);
1345
+ st_foreach(swig_ruby_trackings,
1346
+ SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
1347
+ (st_data_t)meth);
1333
1348
  }
1334
1349
 
1335
1350
  #ifdef __cplusplus
@@ -1546,10 +1561,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1546
1561
  swig_class *sklass;
1547
1562
  VALUE klass;
1548
1563
  VALUE obj;
1549
-
1564
+
1550
1565
  if (!ptr)
1551
1566
  return Qnil;
1552
-
1567
+
1568
+ assert(type);
1553
1569
  if (type->clientdata) {
1554
1570
  sklass = (swig_class *) type->clientdata;
1555
1571
 
@@ -1557,7 +1573,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1557
1573
  track = sklass->trackObjects;
1558
1574
  if (track) {
1559
1575
  obj = SWIG_RubyInstanceFor(ptr);
1560
-
1576
+
1561
1577
  /* Check the object's type and make sure it has the correct type.
1562
1578
  It might not in cases where methods do things like
1563
1579
  downcast methods. */
@@ -1589,7 +1605,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1589
1605
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1590
1606
  }
1591
1607
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1592
-
1608
+
1593
1609
  return obj;
1594
1610
  }
1595
1611
 
@@ -1609,6 +1625,8 @@ SWIGRUNTIMEINLINE char *
1609
1625
  SWIG_Ruby_MangleStr(VALUE obj)
1610
1626
  {
1611
1627
  VALUE stype = rb_iv_get(obj, "@__swigtype__");
1628
+ if (NIL_P(stype))
1629
+ return NULL;
1612
1630
  return StringValuePtr(stype);
1613
1631
  }
1614
1632
 
@@ -1621,7 +1639,7 @@ typedef struct {
1621
1639
  SWIGRUNTIME swig_ruby_owntype
1622
1640
  SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1623
1641
  swig_ruby_owntype oldown = {0, 0};
1624
- if (obj) {
1642
+ if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1625
1643
  oldown.datafree = RDATA(obj)->dfree;
1626
1644
  RDATA(obj)->dfree = own.datafree;
1627
1645
  }
@@ -1640,9 +1658,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1640
1658
  if (NIL_P(obj)) {
1641
1659
  if (ptr)
1642
1660
  *ptr = 0;
1643
- return SWIG_OK;
1661
+ return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1644
1662
  } else {
1645
- if (TYPE(obj) != T_DATA) {
1663
+ if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1646
1664
  return SWIG_ERROR;
1647
1665
  }
1648
1666
  Data_Get_Struct(obj, void, vptr);
@@ -1737,7 +1755,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1737
1755
  return rb_str_new2(result);
1738
1756
  }
1739
1757
 
1740
- /* Convert a packed value value */
1758
+ /* Convert a packed pointer value */
1741
1759
  SWIGRUNTIME int
1742
1760
  SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1743
1761
  swig_cast_info *tc;
@@ -1924,7 +1942,7 @@ static swig_module_info swig_module = {swig_types, 66, 0, 0, 0, 0};
1924
1942
  #define SWIG_RUBY_THREAD_END_BLOCK
1925
1943
 
1926
1944
 
1927
- #define SWIGVERSION 0x030012
1945
+ #define SWIGVERSION 0x040002
1928
1946
  #define SWIG_VERSION SWIGVERSION
1929
1947
 
1930
1948
 
@@ -6805,7 +6823,7 @@ SWIGINTERN VALUE _wrap_FXList_setShape(int nargs, VALUE *args, VALUE self) {
6805
6823
  _v = SWIG_CheckState(res);
6806
6824
  if (_v) {
6807
6825
  void *vptr = 0;
6808
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
6826
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
6809
6827
  _v = SWIG_CheckState(res);
6810
6828
  if (_v) {
6811
6829
  return _wrap_FXList_setShape__SWIG_0(nargs, args, self);
@@ -9080,7 +9098,7 @@ SWIGINTERN VALUE _wrap_FXColorList_setShape(int nargs, VALUE *args, VALUE self)
9080
9098
  _v = SWIG_CheckState(res);
9081
9099
  if (_v) {
9082
9100
  void *vptr = 0;
9083
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
9101
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
9084
9102
  _v = SWIG_CheckState(res);
9085
9103
  if (_v) {
9086
9104
  return _wrap_FXColorList_setShape__SWIG_0(nargs, args, self);
@@ -10468,7 +10486,7 @@ SWIG_InitializeModule(void *clientdata) {
10468
10486
 
10469
10487
  /* Now work on filling in swig_module.types */
10470
10488
  #ifdef SWIGRUNTIME_DEBUG
10471
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
10489
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
10472
10490
  #endif
10473
10491
  for (i = 0; i < swig_module.size; ++i) {
10474
10492
  swig_type_info *type = 0;
@@ -10476,7 +10494,7 @@ SWIG_InitializeModule(void *clientdata) {
10476
10494
  swig_cast_info *cast;
10477
10495
 
10478
10496
  #ifdef SWIGRUNTIME_DEBUG
10479
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
10497
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
10480
10498
  #endif
10481
10499
 
10482
10500
  /* if there is another module already loaded */
@@ -10552,7 +10570,7 @@ SWIG_InitializeModule(void *clientdata) {
10552
10570
  for (i = 0; i < swig_module.size; ++i) {
10553
10571
  int j = 0;
10554
10572
  swig_cast_info *cast = swig_module.cast_initial[i];
10555
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
10573
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
10556
10574
  while (cast->type) {
10557
10575
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
10558
10576
  cast++;
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 3.0.12
3
+ * Version 4.0.2
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -331,6 +331,7 @@ template <typename T> T SwigValueInit() {
331
331
  /* Flags for pointer conversions */
332
332
  #define SWIG_POINTER_DISOWN 0x1
333
333
  #define SWIG_CAST_NEW_MEMORY 0x2
334
+ #define SWIG_POINTER_NO_NULL 0x4
334
335
 
335
336
  /* Flags for new pointer objects */
336
337
  #define SWIG_POINTER_OWN 0x1
@@ -982,42 +983,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
982
983
  #ifndef RSTRUCT_PTR
983
984
  # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
984
985
  #endif
986
+ #ifndef RTYPEDDATA_P
987
+ # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
988
+ #endif
985
989
 
986
990
 
987
991
 
988
992
  /*
989
- * Need to be very careful about how these macros are defined, especially
990
- * when compiling C++ code or C code with an ANSI C compiler.
993
+ * The following macros are used for providing the correct type of a
994
+ * function pointer to the Ruby C API.
995
+ * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
996
+ * defined) these macros act transparently due to Ruby's moving away from
997
+ * ANYARGS and instead employing strict function signatures.
998
+ *
999
+ * Note: In case of C (not C++) the macros are transparent even before
1000
+ * Ruby 2.7 due to the fact that the Ruby C API used function declarators
1001
+ * with empty parentheses, which allows for an unspecified number of
1002
+ * arguments.
1003
+ *
1004
+ * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
1005
+ * C API function rb_protect().
991
1006
  *
992
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
993
- * a Ruby method so that it can be passed as an argument to API functions
994
- * like rb_define_method() and rb_define_singleton_method().
1007
+ * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
1008
+ * functions like rb_define_method() and rb_define_singleton_method().
995
1009
  *
996
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
997
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
998
- * can be passed as an argument to API functions like Data_Wrap_Struct()
1010
+ * VOIDFUNC(f) is used to typecast a C function that implements either
1011
+ * the "mark" or "free" stuff for a Ruby Data object, so that it can be
1012
+ * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
999
1013
  * and Data_Make_Struct().
1014
+ *
1015
+ * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
1016
+ * argument(s) of Ruby C API functions like rb_define_virtual_variable().
1017
+ *
1018
+ * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
1019
+ * argument(s) of Ruby C API functions like st_foreach().
1000
1020
  */
1001
-
1002
- #ifdef __cplusplus
1003
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
1004
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1005
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1006
- # define VOIDFUNC(f) ((void (*)()) f)
1007
- # else
1008
- # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
1009
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
1010
- # define VALUEFUNC(f) ((VALUE (*)()) f)
1011
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1012
- # else /* These definitions should work for Ruby 1.7+ */
1013
- # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1014
- # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1015
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1016
- # endif
1017
- # endif
1021
+ #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
1022
+ # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1023
+ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1024
+ # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1025
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
1026
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
1018
1027
  #else
1028
+ # define PROTECTFUNC(f) (f)
1019
1029
  # define VALUEFUNC(f) (f)
1020
1030
  # define VOIDFUNC(f) (f)
1031
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
1032
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
1021
1033
  #endif
1022
1034
 
1023
1035
  /* Don't use for expressions have side effect */
@@ -1205,7 +1217,7 @@ void Ruby_Format_OverloadedError(
1205
1217
  /* -----------------------------------------------------------------------------
1206
1218
  * rubytracking.swg
1207
1219
  *
1208
- * This file contains support for tracking mappings from
1220
+ * This file contains support for tracking mappings from
1209
1221
  * Ruby objects to C++ objects. This functionality is needed
1210
1222
  * to implement mark functions for Ruby's mark and sweep
1211
1223
  * garbage collector.
@@ -1232,7 +1244,7 @@ extern "C" {
1232
1244
  #endif
1233
1245
 
1234
1246
  /* Global hash table to store Trackings from C/C++
1235
- structs to Ruby Objects.
1247
+ structs to Ruby Objects.
1236
1248
  */
1237
1249
  static st_table* swig_ruby_trackings = NULL;
1238
1250
 
@@ -1246,7 +1258,7 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1246
1258
  /* Create a hash table to store Trackings from C++
1247
1259
  objects to Ruby objects. */
1248
1260
 
1249
- /* Try to see if some other .so has already created a
1261
+ /* Try to see if some other .so has already created a
1250
1262
  tracking hash table, which we keep hidden in an instance var
1251
1263
  in the SWIG module.
1252
1264
  This is done to allow multiple DSOs to share the same
@@ -1273,8 +1285,9 @@ SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1273
1285
  swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
1274
1286
  }
1275
1287
 
1276
- rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", RUBY_VALUE_METHOD_FUNC(swig_ruby_trackings_count), RUBY_VOID_METHOD_FUNC((rb_gvar_setter_t*)NULL))
1277
- ;
1288
+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
1289
+ VALUEFUNC(swig_ruby_trackings_count),
1290
+ SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
1278
1291
  }
1279
1292
 
1280
1293
  /* Add a Tracking from a C/C++ struct to a Ruby object */
@@ -1306,13 +1319,14 @@ SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
1306
1319
 
1307
1320
  /* This is a helper method that unlinks a Ruby object from its
1308
1321
  underlying C++ object. This is needed if the lifetime of the
1309
- Ruby object is longer than the C++ object */
1322
+ Ruby object is longer than the C++ object. */
1310
1323
  SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1311
1324
  VALUE object = SWIG_RubyInstanceFor(ptr);
1312
1325
 
1313
1326
  if (object != Qnil) {
1314
- if (TYPE(object) != T_DATA)
1315
- abort();
1327
+ // object might have the T_ZOMBIE type, but that's just
1328
+ // because the GC has flagged it as such for a deferred
1329
+ // destruction. Until then, it's still a T_DATA object.
1316
1330
  DATA_PTR(object) = 0;
1317
1331
  }
1318
1332
  }
@@ -1322,14 +1336,15 @@ SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1322
1336
  to the passed callback function. */
1323
1337
 
1324
1338
  /* Proxy method to abstract the internal trackings datatype */
1325
- static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1326
- ((void(*)(void*, VALUE))meth)((void*)ptr, (VALUE)obj);
1327
-
1339
+ static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1340
+ ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
1328
1341
  return ST_CONTINUE;
1329
1342
  }
1330
1343
 
1331
1344
  SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
1332
- st_foreach(swig_ruby_trackings, RUBY_INT_METHOD_FUNC(swig_ruby_internal_iterate_callback), (st_data_t)meth);
1345
+ st_foreach(swig_ruby_trackings,
1346
+ SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
1347
+ (st_data_t)meth);
1333
1348
  }
1334
1349
 
1335
1350
  #ifdef __cplusplus
@@ -1546,10 +1561,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1546
1561
  swig_class *sklass;
1547
1562
  VALUE klass;
1548
1563
  VALUE obj;
1549
-
1564
+
1550
1565
  if (!ptr)
1551
1566
  return Qnil;
1552
-
1567
+
1568
+ assert(type);
1553
1569
  if (type->clientdata) {
1554
1570
  sklass = (swig_class *) type->clientdata;
1555
1571
 
@@ -1557,7 +1573,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1557
1573
  track = sklass->trackObjects;
1558
1574
  if (track) {
1559
1575
  obj = SWIG_RubyInstanceFor(ptr);
1560
-
1576
+
1561
1577
  /* Check the object's type and make sure it has the correct type.
1562
1578
  It might not in cases where methods do things like
1563
1579
  downcast methods. */
@@ -1589,7 +1605,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1589
1605
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1590
1606
  }
1591
1607
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1592
-
1608
+
1593
1609
  return obj;
1594
1610
  }
1595
1611
 
@@ -1609,6 +1625,8 @@ SWIGRUNTIMEINLINE char *
1609
1625
  SWIG_Ruby_MangleStr(VALUE obj)
1610
1626
  {
1611
1627
  VALUE stype = rb_iv_get(obj, "@__swigtype__");
1628
+ if (NIL_P(stype))
1629
+ return NULL;
1612
1630
  return StringValuePtr(stype);
1613
1631
  }
1614
1632
 
@@ -1621,7 +1639,7 @@ typedef struct {
1621
1639
  SWIGRUNTIME swig_ruby_owntype
1622
1640
  SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1623
1641
  swig_ruby_owntype oldown = {0, 0};
1624
- if (obj) {
1642
+ if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1625
1643
  oldown.datafree = RDATA(obj)->dfree;
1626
1644
  RDATA(obj)->dfree = own.datafree;
1627
1645
  }
@@ -1640,9 +1658,9 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1640
1658
  if (NIL_P(obj)) {
1641
1659
  if (ptr)
1642
1660
  *ptr = 0;
1643
- return SWIG_OK;
1661
+ return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1644
1662
  } else {
1645
- if (TYPE(obj) != T_DATA) {
1663
+ if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1646
1664
  return SWIG_ERROR;
1647
1665
  }
1648
1666
  Data_Get_Struct(obj, void, vptr);
@@ -1737,7 +1755,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1737
1755
  return rb_str_new2(result);
1738
1756
  }
1739
1757
 
1740
- /* Convert a packed value value */
1758
+ /* Convert a packed pointer value */
1741
1759
  SWIGRUNTIME int
1742
1760
  SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1743
1761
  swig_cast_info *tc;
@@ -1998,7 +2016,7 @@ static swig_module_info swig_module = {swig_types, 140, 0, 0, 0, 0};
1998
2016
  #define SWIG_RUBY_THREAD_END_BLOCK
1999
2017
 
2000
2018
 
2001
- #define SWIGVERSION 0x030012
2019
+ #define SWIGVERSION 0x040002
2002
2020
  #define SWIG_VERSION SWIGVERSION
2003
2021
 
2004
2022
 
@@ -3227,7 +3245,7 @@ SWIGINTERN VALUE _wrap_FXMDIDeleteButton_setShape(int nargs, VALUE *args, VALUE
3227
3245
  _v = SWIG_CheckState(res);
3228
3246
  if (_v) {
3229
3247
  void *vptr = 0;
3230
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
3248
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
3231
3249
  _v = SWIG_CheckState(res);
3232
3250
  if (_v) {
3233
3251
  return _wrap_FXMDIDeleteButton_setShape__SWIG_0(nargs, args, self);
@@ -4324,7 +4342,7 @@ SWIGINTERN VALUE _wrap_FXMDIRestoreButton_setShape(int nargs, VALUE *args, VALUE
4324
4342
  _v = SWIG_CheckState(res);
4325
4343
  if (_v) {
4326
4344
  void *vptr = 0;
4327
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
4345
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
4328
4346
  _v = SWIG_CheckState(res);
4329
4347
  if (_v) {
4330
4348
  return _wrap_FXMDIRestoreButton_setShape__SWIG_0(nargs, args, self);
@@ -5421,7 +5439,7 @@ SWIGINTERN VALUE _wrap_FXMDIMaximizeButton_setShape(int nargs, VALUE *args, VALU
5421
5439
  _v = SWIG_CheckState(res);
5422
5440
  if (_v) {
5423
5441
  void *vptr = 0;
5424
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
5442
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
5425
5443
  _v = SWIG_CheckState(res);
5426
5444
  if (_v) {
5427
5445
  return _wrap_FXMDIMaximizeButton_setShape__SWIG_0(nargs, args, self);
@@ -6518,7 +6536,7 @@ SWIGINTERN VALUE _wrap_FXMDIMinimizeButton_setShape(int nargs, VALUE *args, VALU
6518
6536
  _v = SWIG_CheckState(res);
6519
6537
  if (_v) {
6520
6538
  void *vptr = 0;
6521
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
6539
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
6522
6540
  _v = SWIG_CheckState(res);
6523
6541
  if (_v) {
6524
6542
  return _wrap_FXMDIMinimizeButton_setShape__SWIG_0(nargs, args, self);
@@ -7623,7 +7641,7 @@ SWIGINTERN VALUE _wrap_FXMDIWindowButton_setShape(int nargs, VALUE *args, VALUE
7623
7641
  _v = SWIG_CheckState(res);
7624
7642
  if (_v) {
7625
7643
  void *vptr = 0;
7626
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
7644
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
7627
7645
  _v = SWIG_CheckState(res);
7628
7646
  if (_v) {
7629
7647
  return _wrap_FXMDIWindowButton_setShape__SWIG_0(nargs, args, self);
@@ -8660,7 +8678,7 @@ SWIGINTERN VALUE _wrap_FXMDIMenu_setShape(int nargs, VALUE *args, VALUE self) {
8660
8678
  _v = SWIG_CheckState(res);
8661
8679
  if (_v) {
8662
8680
  void *vptr = 0;
8663
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
8681
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
8664
8682
  _v = SWIG_CheckState(res);
8665
8683
  if (_v) {
8666
8684
  return _wrap_FXMDIMenu_setShape__SWIG_0(nargs, args, self);
@@ -10834,7 +10852,7 @@ SWIGINTERN VALUE _wrap_FXMDIClient_setShape(int nargs, VALUE *args, VALUE self)
10834
10852
  _v = SWIG_CheckState(res);
10835
10853
  if (_v) {
10836
10854
  void *vptr = 0;
10837
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
10855
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
10838
10856
  _v = SWIG_CheckState(res);
10839
10857
  if (_v) {
10840
10858
  return _wrap_FXMDIClient_setShape__SWIG_0(nargs, args, self);
@@ -14114,7 +14132,7 @@ SWIGINTERN VALUE _wrap_FXMDIChild_setShape(int nargs, VALUE *args, VALUE self) {
14114
14132
  _v = SWIG_CheckState(res);
14115
14133
  if (_v) {
14116
14134
  void *vptr = 0;
14117
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, 0);
14135
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FXRegion, SWIG_POINTER_NO_NULL);
14118
14136
  _v = SWIG_CheckState(res);
14119
14137
  if (_v) {
14120
14138
  return _wrap_FXMDIChild_setShape__SWIG_0(nargs, args, self);
@@ -16632,7 +16650,7 @@ SWIG_InitializeModule(void *clientdata) {
16632
16650
 
16633
16651
  /* Now work on filling in swig_module.types */
16634
16652
  #ifdef SWIGRUNTIME_DEBUG
16635
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
16653
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
16636
16654
  #endif
16637
16655
  for (i = 0; i < swig_module.size; ++i) {
16638
16656
  swig_type_info *type = 0;
@@ -16640,7 +16658,7 @@ SWIG_InitializeModule(void *clientdata) {
16640
16658
  swig_cast_info *cast;
16641
16659
 
16642
16660
  #ifdef SWIGRUNTIME_DEBUG
16643
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
16661
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
16644
16662
  #endif
16645
16663
 
16646
16664
  /* if there is another module already loaded */
@@ -16716,7 +16734,7 @@ SWIG_InitializeModule(void *clientdata) {
16716
16734
  for (i = 0; i < swig_module.size; ++i) {
16717
16735
  int j = 0;
16718
16736
  swig_cast_info *cast = swig_module.cast_initial[i];
16719
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
16737
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
16720
16738
  while (cast->type) {
16721
16739
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
16722
16740
  cast++;