IRC Log Viewer » #firebreath » 2010-10-03

IRC Nick Time (GMT-7) Message
physicsrob 09:10 hello
kalev 10:10 hello
physicsrob 10:10 so.. question (if anyone is around this morning): new ActiveXObject throws an exception if you haven't yet approved the plugin -- typically checking this for an exception is how you detect if a plugin is installed. So does anyone know of any means of detecting if your plugin is installed that correctly handles the case that plugin IS installed but IS NOT yet approved?
taxilian 10:10 AFAIK, there is no such thing
because it won't actually load your plugin until then
however, you could give it a try and see what the message is =]
sometimes you can catch the exception and then see what the text is; different exception strings mean different things
I just don't know if that's one of them
however, theoretically this could help: http://msdn.microsoft.com/en-us/library/dd433050%28v=VS.85%29.aspx
it is supposed to be possible to mark it as approved as part of the installation
physicsrob: I hope that helps
physicsrob 10:10 thanks
the exception is string is an extremely useful "[object] exception"
or something like that
taxilian 10:10 hmm. well, if it is different from what you'd get when it isn't installed, you're set. if it isn't (as I suspect), then at least you know
one more thing to try; ther eis another registry key that is added when they approve the control that seems to work on IE 6 and 7; however, I haven't found it documented anywhere
and I don't have it written down; I'll have to find it again
physicsrob 10:10 yeah, I was just reading about it
taxilian 10:10 no, that's a different one
it doesn't always work for me
dunno why
you can use process viewer (or something like that) to log all registry activity by IE; with that you can find out what it is doing when you approve the control
IE8 uses a different / advanced mechanism that I haven't managed to get around yet
physicsrob 10:10 hmm
there's the preapproval mechanism for IE7 apparently:
http://msdn.microsoft.com/en-us/library/bb250471(VS.85).aspx
but I'm guessing IE8 doesn't work the same way
man I wish I didn't have to support so many platforms
taxilian 10:10 wait…
http://msdn.microsoft.com/en-us/library/dd433050%28v=VS.85%29.aspx#_registry
that's it
I didn't look closely enough at it before
yeah; that would be why I wrote FireBreath. I can't fix all of the complexity, but it sure helps with a lot
physicsrob 10:10 definitely
taxilian 10:10 still hoping to see a patch sometime for 10.4 support, btw ;-)
unfortunately I don't have a machine I can test it on
physicsrob 10:10 I know -- I'll get to it
taxilian 10:10 =]
good enough
physicsrob 10:10 I've been slammed with my own deadlines :(
taxilian 10:10 hehe. I understand
and I don't mean to push; just wanted some kind of confirmation that it's planned =]
physicsrob 10:10 yes
actually -- the reason I stopped was that the solution I'm using locally is to copy an enum from header from the 10.5 sdk into one of the firebreath headers
totally solves the problem
but questionable copyright wise to distribute
tricky
taxilian 10:10 hmm. so the problem is that the enum isn't present in the 10.4 sdk?
physicsrob 10:10 right
so in 10.4 you just had to hard code the values
that's the way I've done it in my code in the past anyway
the values were in a manual somewhere
taxilian 10:10 hmm
interesting
physicsrob 10:10 they realized that was rediculous and fixed it
taxilian 10:10 what is the header file / enum?
physicsrob 10:10 it's HIToolbox/Events.h I think
the enum defines the virtual key codes vk_*
taxilian 10:10 hmm
interesting
my initial thought would be to just include it with an appropriate copyright notice and indication of where it came from and that it is not licensed with the rest of the project
and then remove it if apple complains =]
but IANAL
dunno
physicsrob 10:10 yeah I dont know either
I'm thinking to just disable the key code translation for 10.4 and earlier
I'm not sure what fraction of plugins use it
mine certainly doesn't
taxilian 10:10 that would be an option; just say you have to use 10.5 sdk or later to support that
physicsrob 10:10 but then the issue with that is how do you detect that you're compiling against 10.4?
there isnt any handing #ifdef to use
taxilian 10:10 actually that's not that hard; cmake knows
physicsrob 10:10 handy rather
cmake know the path of the SDK
which isn't universal
taxilian 10:10 but it has 10.4 in it
physicsrob 10:10 right
taxilian 10:10 we could do a string search against it
does seem like there should be an easier way
physicsrob 10:10 but it has to be compile time
taxilian 10:10 if cmake finds out what it is, it can set a preprocessor def
physicsrob 10:10 does the C preprocessor do regex matches?
yeah
fair enough
I'm not an expert at cmake though
by any means
taxilian 10:10 we have to do a lot of things like that; it's one of the reasons we use cmake
unfortunately, neither am I =]
you're sure there is nothing to indicate the sdk version in the mac os sdk?
physicsrob 10:10 yeah... cmake sucks -- but I totally endorse it's use for firebreath
taxilian 11:10 lol. yeah, it would be pretty much impossible to do this without it
I don't think it sucks, it's just a little bit of a pain; I don't know a better option, though. scons might be able to do it, but it doesn't seem to offer any advantages significant enough to justify the pain of changing
physicsrob 11:10 well it's just not easy to understand
taxilian 11:10 it does have a bit of a learning curve
physicsrob 11:10 I'm sure if I had the time to learn it I would find it to be great
but I have too many things I need to be an expert at
taxilian 11:10 with poor documentation for people getting started
yeah
know how that goes
physicsrob 11:10 not happy to have to be an expert at another one
taxilian 11:10 yeah
sorry =]
physicsrob 11:10 so... do you have experience deploying for 64bit vista/7?
I'm guessing I'll have to create a separate binary
taxilian 11:10 shouldn't
physicsrob 11:10 but I haven't gotten to that point yet
taxilian 11:10 nobody uses 64 bit browsers on those platforms yet
so there isn't much point
physicsrob 11:10 really? I thought IE8 was by default 64bit on 64bit vista/7
taxilian 11:10 nope
32 bit is
there is a 64 bit version
but you have to load it yourself
don't think even flash works on it
physicsrob 11:10 awesome!
that's great news
hehe
taxilian 11:10 so
#ifndef MAC_OS_X_VERSION_10_5
hmm
nope
nevermind
http://tuvix.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/cross_development/Using/using.html
that might help, though
oh, except Availability.h only showed up in 10.5 . well, good luck :-P
physicsrob 11:10 yeah... I've spent a few hours trying to go down these paths