Log of #mupdf at irc.freenode.net.

Search:
 <<<Back 1 day (to 2018/09/05)20180906 
tor8 mojca (for the logs): just remove the offending line.09:33.17 
sebras Robin_Watts: I have a few jni commits (perhaps you only have time to review security stuff?) on sebras/master that me and tor8 discussed earlier today. do they seem reasonable to you?17:08.28 
Robin_Watts sebras: I can look.17:10.21 
  which ones in particular? or all of them?17:13.45 
sebras Robin_Watts: all.17:14.01 
avih tor8: do you plan to push the getopt fix? it's broken everywhere except debian17:33.56 
sebras avih: I dbout that tor8 will be back until tomorrow. I'm sure he read your messages already though.17:35.49 
avih i'd think the same17:36.09 
sebras Robin_Watts: I testcompiles this in the latest android-viewer-mini and the final apk runs fine.17:39.25 
Robin_Watts sebras: Why walk(walker) ? Surely walker.walk() is more java-ish ?17:40.52 
sebras Robin_Watts: to be similar to that of Text and Path17:41.26 
Robin_Watts ok, so presumably there is a reason there too.17:41.50 
sebras Perhaps we could flip them all around and do new TextWalker(text).walk()17:42.47 
Robin_Watts (new BlockWalker()).walk.getBlocks(); has an appeal to it.17:43.03 
sebras I can see how walk would be a good verb for a Walker, yes. however the Walker would at least need a reference to the thing it walks in the constructor.17:44.24 
Robin_Watts oh, wait...17:44.34 
  Walkers are HOW to walk a path.17:44.55 
  Walkers are HOW to walk an object.17:45.00 
  that is, they say what to do at each step.17:45.13 
  So, no, what is there is right, I think.17:46.15 
  First one, lgtm.17:50.13 
sebras Robin_Watts: ehm yes.17:50.29 
  Robin_Watts: perhaps it should be modelled after EventListeners or something like that.17:50.44 
Robin_Watts Second one... we're defining java constants for com_artifex_mupdf_fitz_StructuredText_SELECT_CHARS etc to be 0,1,217:51.52 
  and then praying they are the same values in the fitz call.17:52.12 
  Are there #defines (or enums) for those values in the fitz api?17:52.28 
sebras did I lose the addition to check_enums() in mupdf_native.c?17:52.55 
Robin_Watts http://git.ghostscript.com/?p=user/sebras/mupdf.git;a=commitdiff;h=69790b1bd81642539a9eb0004818e7fce98d46b617:53.13 
  Can't see it.17:53.15 
sebras Found them in 62d3d8ca0e406e1a916ebcc8288d17d8058236af :(17:55.00 
Robin_Watts sebras: Devices were purposely not abstract.17:56.13 
sebras Robin_Watts: I know, but that caused they all to diverge in implementation17:56.51 
Robin_Watts I wanted J Random Java programmer to be able to implement a device as easily as possible, just by implementing the methods he needed.17:56.52 
  Yeah.17:57.02 
  I can't see a way that allows both.17:57.12 
sebras Robin_Watts: if we need to support that we can add JRandomDevice which implements all functions as empty and J. Random can have his case inherit from that.17:57.31 
Robin_Watts EmptyDevice17:57.47 
sebras tor8 suggested NullDevice or NoopDevice, but yeah.17:58.00 
Robin_Watts Yeah, NullDevice would work.17:58.14 
sebras Robin_Watts: becaue the color management stuff had changed the interfaces and the Device subclasses were never updated properly I'd vote for slapping us on the wrists. we deserve it.17:59.11 
  NoInterfaceCheckingDevice...17:59.31 
Robin_Watts sebras: Yeah.17:59.38 
  what's the difference between a fully abstract class and an interface?18:00.19 
  We could have DeviceInterface for what we currently call Device (i.e. the fully abstract thing in your example).18:01.05 
  and then Device be what we've been talking about as being NullDevice.18:01.21 
  all our devices would implement DeviceInterface.18:01.39 
  I bet that wouldn't work with the type checking.18:01.47 
  NullDevice seems like a sensible way to go.18:02.04 
sebras Robin_Watts: a Device interface cannot have the long pointer.18:02.43 
Robin_Watts Ah. that'd be it.18:02.59 
  changing _LINEJOIN_ to be _LINE_JOIN_ in the name of "improvement" seems bad to me when the fitz equivalents are _LINEJOIN_18:07.21 
  Otherwise, everything lgtm.18:07.58 
sebras Robin_Watts: I did that due to tor8.18:08.01 
  Robin_Watts: so that completes sebras/master?18:13.44 
  Robin_Watts: I'll skip pushing until tomorrow when tor8 is back.18:14.56 
Robin_Watts sebras: Yup.18:15.56 
sebras Robin_Watts: thanks.18:17.05 
  Robin_Watts: can I ask why gprof-doc.c supplies -sPostRenderProfile to gswin32c.exe when gs does not support that?18:46.00 
  when trying gproof today I get:18:46.32 
  | ./base/gsicc_manage.c:1840: gsicc_verify_device_profiles(): Post render profile not supported by device18:46.32 
  | ./base/gsicc_manage.c:1990: gsicc_set_device_profile(): Error in device profiles18:46.35 
  without supplying -sPostRenderProfile gs is successful in rendering some output though.18:47.08 
Robin_Watts sebras: That would be a question for mvrhel_laptop I think.18:47.16 
mvrhel_laptop gs does support -sPostRenderProfile18:51.25 
sebras mvrhel_laptop: if I remove -sPostRenderProfile I can get gs to produce output, but with it I see "Post render profile not supported by device" and yes I did copygs/iccprofiles/*.icc to my local directory before running the command.18:51.28 
mvrhel_laptop ah. so that is a recent bug18:51.43 
  when I fixed a few issues related to which device support this option18:51.59 
  I forgot about gproof18:52.17 
sebras mvrhel_laptop: aha. :)18:52.23 
mvrhel_laptop so let me fix that and commit it to gs18:52.31 
  give me a few minutes18:52.46 
  sebras: ok gs updated and gproof should work with -sPostRenderProfile now19:08.42 
sebras mvrhel_laptop: one step further, but now it triggers an assert in gs for me instead.19:13.05 
mvrhel_laptop ha19:13.15 
sebras gswin32c.exe: ./lcms2mt/src/cmsxform.c:1608: cmsCloneTransformChangingFormats: Assertion `(oldXform != ((void *)0) && oldXform->core != ((void *)0))' failed.19:13.21 
mvrhel_laptop oh interesting19:13.34 
  how are you doing this call exactly?19:13.45 
  what is the command line for gs and that are the files19:13.59 
  can you give me all of that and I can see what I can do19:14.08 
sebras I can cut mupdf out of the picture because I can trigger the assert by running the same comamnd line that mupdf is putting into system().19:15.18 
  mvrhel_laptop: the file is boids3.pdf which is on casper19:15.33 
  ./gswin32c.exe -sDEVICE=gprf -sOutputICCProfile=default_cmyk.icc -sPostRenderProfile=srgb.icc -dSAFER -dFitPage -o "/tmp/fileS3U6up" -dFirstPage=1 -dLastPage=1 -I%rom%Resource/Init/ -g421x595 "boids3.pdf"19:15.58 
  default_cmyk.icc and srgb.icc are also on casper, but I doubt they have changed.19:16.50 
mvrhel_laptop ok thanks. I will look at this right after lunch if that is fine19:18.24 
sebras mvrhel_laptop: can you check if you can reproduce it?19:20.58 
  mvrhel_laptop: because I need to go to bed. :)19:21.06 
mvrhel_laptop ok let me get the file first19:35.56 
  ok got file19:37.18 
  sebras: yes I do get the assert19:40.11 
  I will look at if from here19:40.20 
  oh I bet there is some more bit rot in gprf19:42.07 
sebras mvrhel_laptop: looks like it. :)19:42.26 
  mvrhel_laptop: ok. I'll go to bed now.19:42.32 
mvrhel_laptop goodnight sebras19:42.37 
sebras gn19:42.42 
 Forward 1 day (to 2018/09/07)>>> 
ghostscript.com #ghostscript
Search: