IRC Log Viewer » #firebreath » 2011-06-22

IRC Nick Time (GMT-7) Message
Feeling 00:06 hi all~!
taxilian 00:06 howdy
Feeling 00:06 fine, what time is it, there?
taxilian 00:06 here? almost 1am
Feeling 00:06 oh..
here is 4pm
taxilian 00:06 and no, I don't plan to be up much longer =]
where are you located?
Feeling 00:06 korea
taxilian 00:06 that's right; I ask you once before, I think
my memory for names and details like that is poor =]
Feeling 00:06 haha, right
taxilian 00:06 ironic, since I could probably tell you the path and filename of any arbitrary object in the FireBreath project
Feeling 00:06 maybe, everyday asking to me;
anyways, i have other question today.
how to getting plugins version in browser?
wix is not supported to web update
taxilian 01:06 generally I just add a property on the JSAPI object that exposes it
Feeling 01:06 but, i thick that is not corrent way, if the file in the PROGRAM FILES
dougma 01:06 ?
3pm. :)
Feeling 01:06 oh. where a u from?
dougma 01:06 australia
taxilian 01:06 I don't understand your question; generally I avoid installing in program files, incidently, since to do so requires elevated privileges
Feeling 01:06 i know but, some company plugins is already in PROGRAM FILES
that's why asking to you.
taxilian 01:06 okay; I'm not sure I understand your question
this is an existing plugin? not one that you are writing?
Feeling 01:06 yes
so, some people use mime header.
ex) applecaion/x-myplugin;version=
taxilian 01:06 hmm. well, there might be a version field in the plugin entry in navigator.plugins
but it depends on your browser
that's a pretty recent addition
some plugins use the filename; that's actually my preferred method
dougma 01:06 i bump the filename on major version changes (non-backwards compatible)
taxilian 01:06 but there really isn't a good way for an existing plugin, unless you want to write another plugin just for checking the version =]
dougma: if you want to support in-place upgrade (no browser restart required) you need the file to be in a version-specific directory
I prefer to have version-specific filename as well
dougma 01:06 right...
taxilian 01:06 some versions of firefox and chrome detect plugins in a weird way; when I say "weird" I mean some ignore the filename and scan the directory, some use the filename, and some seem to do a bizarre hybrid of both
dougma 01:06 yeah, my only experience here is with .cab upgrades in ie so... i should prepare for weirdness.
Feeling 01:06 i already saw to getting version from mime type. that's support all browser.
but idon't know that is corrent way.
taxilian 01:06 that's another way to do it
I don't like that method, but it works
Feeling 01:06 oh.. i see..
taxilian 01:06 anyway, I'm going to bed
I have working what I've been working on all day
Feeling 01:06 have a good sleep~
taxilian 01:06 and tomorrow I can finish cleaning it up
I'll see what I can manage
take care, ya'll
dougma 01:06 g'night!
Feeling 01:06 dougma: did you see emulator plugins? ActiveX to XPCOM, XPCOM to ActiveX
dougma 02:06 no, not looked at such things
have you?
any good?
Feeling 03:06 oh, sorry
i gotta go, see you later. bye
Imran 04:06 hi
any 1 there
wake up guys help me
linearray 04:06 just ask
Imran 04:06 hi i have to develop a cross browser plugin for printing purpose but i m totally new to programming need some suggessions
if i develop plugin wid firebreath wat type of installations will be required on client side
linearray 04:06
Imran 04:06 thanks line array
linearray 04:06 hope that helps
Imran 05:06 yeah its helpful but is there any prereqisites softwares (other than browsers) that must be installed on client side for plugins efficoent work?
linearray 05:06 no
Imran 05:06 thanks @Linearray nice to talk to u
linearray 05:06 you're welcome
Imran 06:06 can any 1 tell me whats the need or purpose of ddk as it is for drivers development
dougma 06:06 !wiki ddk
FireBreathBot 06:06 2 results found. Note: Results limited to 8
"Building on Windows":
"Version History":
dougma 06:06 you read "building on windows"?
Imran 06:06 yeah i did read that before but can't get the purpose
dougma 06:06 presumably vs express is missing something that the ddk provides.
you using vs express?
Imran 06:06 ys
linearray 06:06
It's probably the ATL
dougma 06:06 try it without the ddk and tell us what it's missing, then we can clarify exactly why it is needed.
does the platform sdk not contain atl?
or did they rename that to the windows sdk?
linearray 06:06 I don't have the slightest idea, but the wiki says the WDK installs the ATL
dougma 06:06 right.
Imran: there you go. :)
linearray 06:06
apparently not
Imran 06:06 sorry its vs2008 professional
dougma 06:06 well carry on.
Imran 06:06 well i can't be able to find FireBreath.sln
its missing
i think
or i have to go for ddk???
dougma 06:06 you did this:
Imran 06:06 yes
dougma 06:06 great, so it created build/Firebreath.sln
or did it give an error?
Imran 06:06 i don get any error . it gives me a folder in which all the mentioned files present
dougma 06:06 what mentioned files?
Imran 06:06 but can't find solution
dougma 06:06 did you run the prep script?
Imran 06:06 CMakeLists.txt
dougma 06:06 try reading the whole page
Imran 06:06 ok
i run it still i can't get the build/Firebreath.sln
dougma 06:06 and there was no error?
Imran 06:06 it opend for half a sec then it closes
dougma 06:06 yeah.... because you need to open a command prompt, cd to your firebreath directory and run it from there
Imran 06:06 ok
linearray 06:06 maybe you should watch the tutorial video?
Imran 06:06 hmm
linearray 06:06 this one
Imran 06:06 hmm
Imran 06:06 git clone cammand is not runnig
linearray 06:06 then use one of the .zips for now:
taxilian 08:06 'morning all
git pull requests
FireBreathBot 08:06 1 open pull request:
dougma: Fb 102
dougma 08:06 morning!
linearray 08:06 hi
is there a help command for the bot?
taxilian 09:06 linearray: well, not as such… =]
but if you want to document it on the wiki I'll tell you what it can do :-P
linearray 09:06 :D
well, I would do it
but also I wanted to know if there is some sort of "ask?" command
which would make the bot say something like "ask your question and wait for someone to come back"
taxilian 09:06 you mean to track questions that people have ask, etc?
we could certainly add some things like that
it'd be pretty easy
how is your python?
linearray 09:06 acceptable
taxilian 09:06 that should be more than enough, if you'd like to put together a quick set of things like that; it's actually pretty fun to hack with =]
linearray 09:06 where can I get the source?
taxilian 09:06 the bot itself is here:
home page:
the extensions that we use are here:
linearray 09:06 .c 2 + 2
FireBreathBot 09:06 4
linearray 09:06 amazing
taxilian 09:06 .py print "This is really entertaining as well"
FireBreathBot 09:06 This is really entertaining as well
dougma 09:06 .commands
taxilian 09:06 for some reason that doesn't give you all the custom commansd
dougma 09:06 FireBreathBot: .commands
taxilian 09:06 I haven't taken the time to figure out why
FireBreathBot: help
FireBreathBot 09:06 taxilian: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see for more general details. My owner is taxilian.
dougma 09:06 nice. :)
now i can translate your russian. :)
taxilian 09:06 lol
it actually works relatively decently, too
dougma 09:06 whoops!
taxilian 09:06 … what did you do?
dougma 09:06 .stats
taxilian 09:06 interesting
I'd better figure out what caused that =]
linearray 09:06 hm, so there is no need to register modules with the bot, just put a .py in modules/ and define funs in there
taxilian 09:06 yep
anyone tried Firefox 5 to see if there are any issues w/ FireBreath?
kylehuff 09:06 there is already a FF5?
taxilian 09:06 yeah
it's pretty stupid, actually
kylehuff 09:06 (probably safe to assume, I have not tested this)
taxilian 09:06 (my interpretation) they basically decided that they wanted people to think they are doing more than they are, so instead of releasing 4.1, 4.2, etc they released FF5 with FF6 due this august
kylehuff 09:06 ha!
taxilian 09:06
linearray 09:06 I think they saw that everybody loves chrome so they imitate whatever they do
kylehuff 09:06 lol
linearray 09:06 one of the things being releasing what seems to be every two weeks
taxilian 09:06 that's pretty comprehensive; they got every single major change in FF5, all in one article
what they missed though is that people don't hate Chrome for it because they don't notice it happening
linearray 09:06 heh
kylehuff 09:06 well, I knew mozilla was going off the deep end when they implemented XUL
taxilian 09:06 lol
kylehuff 09:06 I have hated them ever since
linearray 09:06 taxilian: this may work
taxilian 09:06 hmm. that could potentially get annoying, though, if it does that every time someone says the word "ask"
kylehuff, doubma: what do you guys think?
(don't get me wrong; I like the idea. just trying to think if we need to refine it somehow)
linearray 09:06 hehe no
I think it should only do it, when you begin a line with ".ask"
taxilian 10:06 ahh. pretty sure you need the . in the commands, but I'll double check
so you're saying this is a shortcut for us "in the know" people to use
linearray 10:06 sort of
feel free to change the string :)
I just made the experience that people do not dare to ask what they want to know
taxilian 10:06 yeah
that seems to be a common issue
need something that will match common strings similar to "anyone here?"
FireBreathBot 10:06 If you need help, just ask your question and wait for people to come back.
taxilian 10:06 ask
okay; I just haven't used that syntax
looks like it works correctly
linearray 10:06 nice
by the way, no need to restart the bot when adding modules :)
FireBreathBot: reload ask
at least it _should_ work :)
taxilian 10:06 cool
FireBreathBot 10:06 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
taxilian 10:06 .pastebin
FireBreathBot 10:06 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
taxilian 10:06 .help
hmm. I don't like that help
linearray: thanks for that contribution; I have made it into instead of so we can put other related things in it
linearray 10:06 cool
now if only he would show the module commands in the help
I think functions need to have the example property for that
like: pb.example = ".pb"
not sure though
taxilian 10:06 yeah; I may just make my own help command for now
Kevin_ 10:06 hi
I'm getting this error when trying to build my plugin: error LGHT0204: ICE38: Component cmp3834A62DE280452CD796D87C80F8F2A8 installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file.
I haven't modified the np<plugin>.wxs file and i'm not using any external libraries.
taxilian 11:06 Kevin_: what *have* you changed?
can you send me your main .wxs file?
FireBreathBot 11:06 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
Kevin_ 11:06 i've only added classes for the .wxs file
taxilian 11:06 ok; the problem is that regsvr32 is failing on your .dll file
fix that and it will probably work
incidently, that's not your main .wxs file
that's the fragment
in this case it turns out that was the one I needed, though =]
Kevin_ 11:06 i'm new to using regsvr32, is there a way to find out how/where it's failing?
taxilian 11:06 most commonly it fails when there are .dll dependencies that aren't found
but it could also be that you have weird characters or something in values in your PluginConfig.cmake file
Kevin_ 11:06 i haven't touched pluginconfig.cmake so it's probably not that...i'll try to see if there are any .dll dependencies that aren't found
taxilian 11:06 pluginconfig.cmake has values you put it for fbgen
it may very possibly be that
but use dependency walker to check for dll dependencies
have you added any external link libraries?
Kevin_ 11:06 i tried to add curl at one point, but then i decided against it...what's dependency walker?
taxilian 11:06 .g dependency walker
FireBreathBot 11:06 taxilian:
Kevin_ 11:06 very cool
so, i used dependency walker on my .dll and i get "Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module."
taxilian 11:06 that's actually pretty normal; the question is which modules?
Kevin_ 11:06 IESHIMS.DLL and WER.DLL
have question marks beside them
neilg_ 11:06 IESHIMS.DLL is always there
WER... Windows Error Reporting? I don't know what that is
taxilian 11:06 yeah, I've never seen WER.dll
that could be the culprit
linearray: I have a new one for when we feel like being a tiny bit obnoxious: .lmgt (Let Me Google That)
.lmgt let me google that
Kevin_ 11:06 hmmm...there's an answer on stackoverflow that says these two files shouldn't be used in windows xp
FireBreathBot 11:06 Let me google that for you:
linearray 11:06 hehe
soon no one will have to leave irc for anything
taxilian 11:06 I haven't figured out how to get him to fix bugs yet, though… ;-)
linearray 11:06 instead of running irc in emacs, we will run emacs in irssi
taxilian 11:06 lol
linearray 11:06 reminds me of
taxilian 11:06 lol. that's awesome
aggiekev02 11:06 Howdy
taxilian 11:06 howdy
aggiekev02 11:06 with a plugin how would I capture a POST stream from a web page and then append additional information on it?
taxilian 11:06 you can't
any other questions?
linearray 11:06 I looked into making FB compile pedantically and I think it's impossible, because I see no way to make using 'long long' standard-compliant until c++0x is released, adopted and supported
taxilian 11:06 thinking about it, it might be possible to do that with an extension
linearray: ahh, well
aggiekev02 11:06 ok, that's clear enough. any suggestions on how to pass information from a keyfob on to a website as part of a login for multifactor authentication?
linearray 11:06 and it's definitely not worth any effort to change the usage of long long
taxilian 11:06 aggiekev02: insert the object tag into the dom so you can talk to it and use javascript to query it for the info you need
however, keep in mind that it is very difficult to prevent someone else from using your plugin on their site
so be very very careful
you might even want to use the plugin to make the post request
so instead of posting a form you pass info into the plugin and it adds whatever is needed and makes the post for you
aggiekev02 11:06 that's a good idea
taxilian 11:06 hope it helps
FireBreathBot 11:06 Browser plugins vs extensions: Plugins live in an <object> tag and only interact with the DOM.
They don't hook into any special events with the browser, aren't given special web browser info.
They cannot automatically affect a page without being inserted into said page.
For more information about the difference between a plugin and extension, see
taxilian 11:06 so linearray
FireBreathBot 11:06 Bot help -- most used commands:
!findfile <regex> - Search for files in the project tree on github
!find <symbol> - use ctags to search for a symbol in the source tree
!wiki <search string> - search the wiki for the given string
git pull requests - list all open pull requests for the project
.pb - remind users about pastebin services
.ask - remind users to ask their question rather than waiting for someone to come
.g <search string> - search google for <search string> and return the url of the first response
.lmgt <search string> - display 'Let me Google that for you' link for <search string>
.extensions - Display a summary of the difference between a plugin and an extension.
taxilian 12:06 probably better to do that in a pm most of the time, however
linearray 12:06 sure
very nice
linearray 13:06 git pull requests
FireBreathBot 13:06 1 open pull request:
dougma: Fb 102
Commit edcb404 on master by dougma: "FIREBREATH-102: remove duplicate 'bounds' members"
Commit 4619127 on master by Richard Bateman: "Merge pull request #20 from dougma/FB-102
taxilian 13:06 git pull request
FireBreathBot 13:06 There are no open pull requests in firebreath/FireBreath
taxilian 13:06 if anyone is interested in setting up a profile on stackoverflow careers, I have 25 invites (obviously they're no longer trying to be as specific or something):
linearray 13:06 sounds good, but a bit far from where I live :)
the job offers i mean
taxilian 13:06 heh
most of them probably so
still, you're welcome to use one if you want =]
pretty much anyone I know who would be interested got their own invite
DanielX 14:06 so, I'm in over my head again. I got my joysticks plugin working in FF and Chrome on Linux because X11 doesn't need a window reference to get joystick input. Now I'm trying to get my plugin working on IE, FF and Chrome on Windows. I've got it compiling and loading in the test page, but at some point I need to pass in an hwnd to initialize joysticks with DirectInput. I've found getBrowserHWND, but I'm not sure if it's what I want o
linearray 14:06 but I'm not sure if it's what I want o <-- here it ends
try hitting enter every once in a while ;)
taxilian 14:06 DanielX: rather than using a browser window, I would use WinMessagingWindow
!find WinMessageWindow
FireBreathBot 14:06 Found 2 possible matches. Displaying 2
/^FB::WinMessageWindow::WinMessageWindow() {$/ (f) found in src/PluginCore/Win/WinMessageWindow.cpp:
/^ class WinMessageWindow : boost::noncopyable$/ (c) found in src/PluginCore/Win/WinMessageWindow.h:
taxilian 14:06 you can attach your own winproc to it
and it doesn't require knowing anything about the browser's hwnd and such
DanielX 14:06 ok, how do I get it from within jsAPI constructor?
taxilian 14:06 it's just an object
just put it in your class
Sajty 14:06 Hi
taxilian 14:06 hello
Sajty 14:06 Could somebody delete my forum account?
I cant login
I have used unicode character in name. :D
taxilian 14:06 yeah, django is dumb about some things
DanielX 14:06 ok, so something like FB::WinMessageWindow::WinMessageWindow() messageWindow; then call messageWindow.getHWND when I need it?
taxilian 14:06 yes
DanielX 14:06 cool, I'll give it a shot, thanks again for all the help
taxilian 14:06 Sajty: try logging in as sajty
Sajty 14:06 ok
now it works
taxilian 14:06 I changed it to just a u
close enough, I guess :-/
Sajty 14:06 yeah :)
however, I could register with unicode :D
taxilian 14:06 there are two different systems
atlassian crowd deals with unicode fine
but the forum doesn't, aparently
FireBreathBot 14:06 Commit e3834b0 on master by Richard Bateman: "COMJavascriptObjects now use weak ref to browserhost"
Commit b05cde9 on master by Richard Bateman: "Fixed namespace issue w/ proxy detect"
DanielX 15:06 hi, I'm back with another question. I'm trying to figure out where to add #if defined WIN32 #include "Win\WinMessageWindow.h" #endif so that I can use FB::WinMessageWindow::WinMessageWindow, but I'm getting a bunch of errors such as C:/.../FireBreath/src/PluginCore\Win\WinMessageWindow.h(22): error C2065: 'HWND' : undeclared identifier , so chances are that I'm putting it in the wrong place or missing another file
taxilian 15:06 if it were me, I'd make a windows specific version of the plugin object
and then put it in there
ifdefs are just messy
but you may need to include "win_common.h" along with it
before it
bryan-_ 15:06 hey guys, quick question. should a plugin that's been built on mac os 10.6 be expected to work under 10.5?
linearray 15:06 I'm quite certain that depends on the build settings in XCode
bryan-_ 15:06 interesting, looking around
linearray 15:06 in the project I just generated 10.6 is the target
properties of the project -> deployment
taxilian 15:06 bryan-_: generally I have found them to
but you do need to make sure you're not using anything from the 10.6 sdk that doesn't work in 10.5
some have needed to change to an earlier SDK to make sure it works
but that's not hard (info on the wiki under prep scripts)
bryan-_ 15:06 interesting, base SDK is 10.6. I suppose I should change that to 10.5
taxilian 15:06 could do
bryan-_ 15:06 good news, that did it! now I just need to add it to the prep scripts as you say
taxilian 15:06 tip: don't modify the firebreath prep scripts
create your own script that calls the firebreath prep scripts
DanielX 15:06 I've got the joysticks initializing with with the hwnd from FB::WinMessageWindow, but it doesn't seem to be picking up any joystick events, maybe due to a focus issue. Is there a way to get the webpage hwnd, or some other one that I should try?
taxilian 15:06 where are you expecting the joystick events to come?
it's not going to go to your main message loop and come in as a WindowsEvent
you need to create a winproc handler and attach it to the WinMessageWindow
linearray 15:06 not sure if this is relevant to your interests, but it very well might:
DanielX 15:06 I was expecting that if I could use the window handle of the embedding page that the joystick events would be picked up my my embedded joystick library (OIS) whenever the page had focus
taxilian 15:06 linearray: yeah, I pulled that down earlier; looks pretty cool
still a few things missing, but not bad
DanielX 15:06 I haven't done any windows C++ in 10 years, so I'll go look up what winproc handlers are
taxilian 15:06 DanielX: how is your embedded joystick library getting the events?
most likely if it needs an HWND it needs to get the events somehow from the winproc
DanielX 15:06 it's using DirectInput
though it may use XInput if available
I'm pretty much just dropping in OIS and cramming it into a plugin
it's working great on Linux so far
taxilian 15:06 you'll have to figure out how it normally gets those events
I don't know what it's doing
DanielX 15:06 but I think DirectInput needs a window with focus to pick up joystick events
any random window handles I can try?
taxilian 15:06 DirectInput shouldn't need the window to have focus, as far as I know
if it does you may be hosed
you can't hijack the browser's window — that owuld be very dangerous
DanielX 15:06 ok, I'll keep searching
linearray 15:06 oops
taxilian 15:06 linearray: yeah, there seems to be some way that you can crash FireBreathBot
he usually comes back, though
without me having to do anything
linearray 15:06 :D
that's good
that was .commands
taxilian 15:06 huh
linearray 15:06 not reproducible
taxilian 15:06 it's happened a couple times today
DanielX 16:06 @taxilian Good news, I've got the joystick events getting picked up now. You were right about the FB::WinMessageWindow, it turns out I needed to modify the OIS library to accept background joystick events (it was hard-coded to foreground only)
now to wrap up this windows version, then on to OS X
taxilian 16:06 huh
that's exciting
DanielX 16:06 thanks for all the help
I wouldn't have been able to get this running nearly as fast without FireBreath and your help
also the getting started videos are great
taxilian 16:06 lol. no offense, my friend, but that's the understatement of the week. Writing plugins by hand is painful
you probably would have given up if you had to do it all by hand ;-) (I would have, anyway)
please contribute back in whatever way you can; there are plenty of options, from updating docs to monetary donations to blog posts and links
anything helps
kylehuff 16:06 I did give up, twice... I only discovered firebreath because I am a persistant bastard
taxilian 16:06 kylehuff: I think FireBreath is more visible now than it used to be, which helps
linearray 16:06 its pagerank is higher :)
kylehuff 16:06 well, in all fairness, I wasn't looking for firebreath -- I was looking for information for making NPAPI plugins, so I was mostly on the mozilla dev site
taxilian 16:06 so did you find my tutorial posts or FireBreath first?
linearray 16:06 i'm pretty sure i came here via colonelpanic
kylehuff 16:06 I think I found the posts first, and ended up following the trail of blood
linearray 16:06 hehe, fb needs to go in the npapi article on wikipedia
taxilian 16:06 lol
actually it is already there
go look
linearray 16:06 hm, indeed, as a link
taxilian 16:06 someone should definitely write up a wikipedia article about FireBreath
linearray 16:06 hehe yeah
taxilian 16:06 there have actually been very few blog posts about FireBreath that I'm aware of
other than on colonelpanic
kylehuff 16:06 I'd do it, but I'd put myself down as the author and take all of the credit, then it would be disputed and get stuck in a back-and-forth until it got locked down.
taxilian 16:06 lol
it would be funny to see if anyone disputed it if I didn't
if I just left it
kylehuff 16:06 lol
and make the article like, blatant plagiarism too -- with redacted text, etc..
taxilian 16:06 lol
most people would probably still accept it as fact
kylehuff 16:06 setup a spoof domain, like firebreast or something ridiculous.. lol -- you could have a lot of fun with that
taxilian 16:06 lol
then see how long it takes before the spoof gets more traffic than the real one
linearray 16:06 and clone the git repo, but add backdoors
kylehuff 16:06 man, that would be awesome, but I admit that is some really geeky humor right there...
taxilian 16:06 very true =]
kylehuff 16:06 I will end up going home and telling my wife this whole story about our hilarious prank and she will just facepalm
taxilian 16:06 lol
bryan-_ 17:06 taxilian: you said: tip: don't modify the firebreath prep scripts
[11:31am] taxilian: create your own script that calls the firebreath prep scripts
what did you mean by that?
taxilian 17:06 I'm not sure where the ambiguity is
don't modify the firebreath prep scripts
you shouldn't ever need to change firebreath files outside of your project directory
bryan-_ 17:06 yeah, I don't plan on that. I thought I'd be able to modify my cmake files
but not sure where/how to add this
and I don't see anything in the wiki about this
taxilian 17:06 go reread the wiki page on prep scripts
particularly the part about how you can pass in parameters to them
bryan-_ 17:06 prepXXX [<project dir> [<build dir>]] [<params ...>]
taxilian 17:06 yep, that part
bryan-_ 17:06 not sure what i'd be passing in as the param though
you mean whether to make it 10.5 or 10.6?
because the 10.5 build works on 10.6
taxilian 17:06 yeah
you were saying you wanted to change the sdk
bryan-_ 17:06 can I just change the minimum sdk to 10.5 in the cmake file?
taxilian 17:06 no
that's not early enough
bryan-_ 17:06 ah
I see
taxilian 17:06 that would change it for your project, but not for the rest of FireBreath
bryan-_ 17:06 gotcha
oh, and I see, it's SDKROOT that I need to set
to macosx10.5
ok ok :)
taxilian 17:06 I'm glad we had this talk. ;-)
bryan-_ 18:06 I'm upgrading my project from 1.4 to 1.5.2 and it's failing on this line: include(${CMAKE_DIR}/common.cmake)
the file exists
do I need to regenerate my project?
include could not find load file:
looks like CMAKE_DIR is not defined
taxilian 18:06 no
you need to remove that line
just like it says in Version History where the breaking changes are listed
bryan-_ 18:06 I didn't read that, obviously ;)
taxilian 18:06 I noticed ;-)
bryan-_ 18:06 I didn't even see the version history.... selective reading
taxilian 18:06 any time there are breaking changes, they are detailed there
bryan-_ 18:06 whadda ya know, it worked. thanks again
taxilian 18:06 amazing ;-) make sure you read the rest of those changes
bryan-_ 18:06 I'm looking for the version history
oh I see it
thought it'd be on the download history page
err, download page (no history)
taxilian 18:06 when in doubt, search
but it's a root page
bryan-_ 18:06 there, I added a link to the version history from the download page :)
taxilian 18:06 cool =]
that works
Feeling 18:06 dougma: hi.
dougma 18:06 morning
taxilian 18:06 g'morning, doug =]
VictorAbrash 19:06 I'm trying to build the example project, but prep2005 won't work for me. I've got firebreath 1.5 (tried dev too), cmake 2.6.4 (tried 2.83 and 2.84 too), the error I get when running prep2005.cmd is CMake Error: Could not COPY_FILE. OutputFile: '', etc. It appears that the file CMakeDetermineCompilerABI_C.bin doesn't exist.
Anyone have any ideas what's wrong? I have Windows 7 64 bit, MSVC 2005 Pro. This stuff worked back when I prototyped things in January....
taxilian 19:06 hmm
can you pastebin me the full output?
FireBreathBot 19:06 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin.,, and are all good options
VictorAbrash 19:06 (#110730)
I also notice that the directory projects/PluginTest/Win doesn't have dllmain.cpp or np_winmain.cpp anymore. Isn't supposed to generate these?
VictorAbrash 19:06 OK, off for dinner now. I really hope I can get a solution to this today or tomorrow morning so I can get stuck in and develop my plugin!
taxilian 19:06 dllmain.cpp and np_winmain.cpp aren't needed anymore
my guess would be that your cmake is somehow borked; you could try reinstalling it
I've never seen this before
try updating to 2.8.4
VictorAbrash 19:06 I'll try with 2.8.4 again, but I got the same results with that before reverting to 2.6.4...
Is there any reasonable way to run the prep command in cygwin (for Windows development) rather than DOS?
Skype 19:06 Hello all, I have just started using FireBreath, great lib
I am porting an ActiveX control to FireBreath, the ActiveX control can handle WM_DEVICECHANGE fine but how can I handle WM_DEVICECHANGE in FireBreath?
dougma 19:06 you overload onWindowsEvent in your plugin class
Skype 19:06 yeah I did but all other messages come through ie WM_CREATE but not WM_DEVICECHANGE, I also use RegisterDeviceNotification with the Window Handle but that does not work either
dougma 20:06 does spy++ show the message coming through?
Skype 20:06 I might give that a try soon
dougma 20:06 and you are a windowed plugin right?
Skype 20:06 yup
dougma 20:06 mmm
taxilian 20:06 Skype: WM_DEVICECHANGE only gets sent to top-level windows
so you'll end up having to register for the event
because you don't get a top-level window in a browser; in fact, I'm pretty surprised you get it in activex
Skype 20:06 The reason I get it in the ActiveX is because I use RegisterDeviceNotification
taxilian 20:06 makes sense
you'll need to do that in FireBreath as well
I was just about to dig out an example
but aparently you already have one =]
Skype: what I would do is create a WinMessageWindow to use as the HWND
!find WinMessageWindow
FireBreathBot 20:06 Found 2 possible matches. Displaying 2
/^FB::WinMessageWindow::WinMessageWindow() {$/ (f) found in src/PluginCore/Win/WinMessageWindow.cpp:
/^ class WinMessageWindow : boost::noncopyable$/ (c) found in src/PluginCore/Win/WinMessageWindow.h:
taxilian 20:06 you can provide your own winproc to it so it's a pretty easy little trick to get a window that you control
Skype 20:06 In the FireBreath control I can see the message coming in when I use RegisterDeviceNotification using Spy++
taxilian 20:06 look at the source code for WinMessageWindow to see how to register the callback; it registers a default one on itself
Skype 20:06 But it never gets around to my FB:WindowsEvent
taxilian 20:06 yeah; don't use that window
create a message window
Skype 20:06 Oh I see you mean create a hidden window specifically to respond to WM_DEVICECHANGE?
taxilian 20:06 look at the link I sent you
FireBreath has a class that does it for you
it's not just a hidden window, it's a message only window
special type of window
that's actually what FireBreath uses for cross-thread calls
Skype 20:06 Ok I am confused do you mean I create this message only window in my control?
I mean a derived instance of WinMessageWindow?
taxilian 20:06 you don't need a derived instance
just an instance
create a class
put a FB::WinMessageWindow in it
call something like m_window.setWinProc(boost::bind(&ZamzeeClientWin::WinProc, this, _1, _2, _3, _4, _5))
your class should have "bool WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lResult);"
that registers that with the WinMessageWindow to get winproc calls
then you just handle the event in that function
it does not need to be static
so I have to ask; any connection to the company, or do you just like the name Skype?
Skype 20:06 At which point in the control should I do this do the m_window.setWinProc
taxilian 20:06 sometime before you call RegisterDeviceNotification
Skype 20:06 No connection, under pressure to get this going :-)
taxilian 20:06 because until you do that you don't get the window messages
what are you working on? Can I ask?
Skype 20:06 How about in PluginReady()?
taxilian 20:06 that would work
you could do it in the constructor if you want, if you have the window on your PluginCore class
Skype 20:06 Yeah sure, some medical product, it is currently a desktop product but we are migration to the browser
taxilian 20:06 ahh
Skype 20:06 Thats why we need a control that works across multiple browsers because it is likely to be used by patients and corporates alike
taxilian 20:06 makes sense
Skype 21:06 I started working on an MFC ActiveX in VS2010 but event firing was playing up in IE, so I used FireBreath and thats solved the Event firing stuff, in the next couple of days looking forward to getting this working with Firefox/Chrome/Safari AFAIK on Windows
Thats why we need this as robust as possible and for this I am trusting FireBreath :-)
taxilian 21:06 if you find any significant problems with it let me know; I usually get to things fairly quickly if they are general issues
if they are specific to your problem I'm available for paid support, though my time is limited
Facebook just rolled out a plugin to 1% of their users that uses FireBreath
so there are some robust systems built on it
dougma 21:06 cool. what's that plugin do for facebook users?
taxilian 21:06 photo upload
dougma 21:06 nice :)
taxilian 21:06 initial response looks pretty good; we're still having some issues with proxies
dougma 21:06 damn proxies
taxilian 21:06 yeah
the bane of my existence
Skype: where are you located?
Skype 21:06 Facebook, cool, you work for FB meaning FaceBook? :-)
taxilian 21:06 Skype: as a contract employee, yes
Skype 21:06 Auckland, am implementing right now what we discussed
taxilian 21:06 dougma: any idea if FIREBREATH-102 affects Mac or not?
FireBreathBot 21:06 FIREBREATH-102: Summary: windowless plugins get wrong mouse coords
FIREBREATH-102: Assigned To: richard
FIREBREATH-102: Priority: Major, Status: Open,
Skype 21:06 nope, permanent, contract market is really bad here
dougma 21:06 having got my mac yet. :)
i'm expecting problems
taxilian 21:06 Skype: I meant I do work for Facebook but as a contract employee, not as full time
dougma: interesting; I have not had issues in the past, but I am having some now; working to confirm the severity of the issues
dougma 21:06 having = haven't
taxilian 21:06 so you two aren't far from each other, relatively speaking =] (relative to me, anyway)
dougma 21:06 i still couldn't solve ff4 mouse co-ords when running windowless inproc
which is worrying
taxilian 21:06 hmm. yes it is
dougma 21:06 are you having probs in windowless too?
Skype 21:06 So I now have FbControl::WinProc, do I use to WinProc(hWnd,...) to pass to RegisterDeviceNotification, can I do this in WinProc WM_CREATE??
taxilian 21:06 what is FbControl? is that the name of your plugin class?
dougma: with ipc turned off I'm getting accurate events in ff4 on mac
mousemove, anyway
Skype 21:06 yes
taxilian 21:06 Skype: I would really, really recommend you rename that
but that's just me
!find FBControl
FireBreathBot 21:06 Found 1 possible matches. Displaying 1
15 (d) found in gen_templates/COM_config.h:
taxilian 21:06 FBControl is the name of the main FireBreath activex object
dougma 21:06 taxilian: that's good. maybe just a windows issue. going to do more testing here... eventually
taxilian 21:06 grr. anyone here know cocoa well at all?
dougma 21:06 pass.
Skype 21:06 Sorry meant that the control name at the moment is UploadControl/UploadControlAPI so it is UploadControl::WinProc
taxilian 21:06 oh, okay
got it =]
UploadControl::WinProc, but it is not static, right? it's a normal method?
Skype 21:06 Yes a normal method, cause I have to event back to the javascript client
taxilian 21:06 okay; so you don't call that method at all
the window does
that will be the winproc, basically
return false if you don't handle the message
then just call whatever you need to when you get the message you're worried about
Skype 21:06 Anyway to use htmlLog in IE?
taxilian 21:06 sure
it should log to the IE javascript console
keep in mind that's for debugging only
there are serious performance problems with it
Skype 21:06 I am just using echo sample at the moment, but it still does not log IE9
taxilian 21:06 hmm. haven't tried IE9
maybe they changed something
haven't tried htmlLog in IE9, I mean
you could always enable log4cplus and do console logging
(to the debug console)
Skype 21:06 Oh and I should mention I am using IE9 and I had to comment out <!DOCTYPE html> to get events working, am using FireBreath 1.5.2
taxilian 21:06 that sounds like FIREBREATH-93
FireBreathBot 21:06 FIREBREATH-93: Summary: IE9 suppresses certain events when a DOCTYPE is present
FIREBREATH-93: Assigned To: richard
FIREBREATH-93: Priority: Major, Status: Open,
taxilian 21:06 some events will work, some not
I haven't had time to track it down yet
I have a suspicion about how to fix it (well, dougma and I do), but neither of us have taken the time to work it out yet
Skype 21:06 Ok I still can't get the WM_DEVICECHANGE to work, here is the sample code
taxilian 21:06 oh, dude… you don't call RegisterDeviceNotification insdie the WinProc function
that won't be called until an event shows up
as you have it it will never be called
and calling echo won't do anything
echo is just a test function; it returns whatever you pass into it
it's only useful when calling from javascript
register your device notification right after setting the winproc
!wiki logging
FireBreathBot 21:06 8 results found. Note: Results limited to 8
"struct FB AsyncLogRequest Members":
"struct FB AsyncLogRequest":
"Live Chat":
taxilian 21:06 you may want to look at the logging link as well; enable log4cplus and do your logging there
instead of trying to rely on logging through javascript
Skype 21:06 but what window handle do I use?
hmm, In that same control echo works for me, FB::RefreshEvent, it does event back to the javascript client...
RegisterDeviceNotification requires a HWND to send the message to
taxilian 21:06 Skype: when I sent you a link to the source to WinMessageWindow, did you even use it?
or did you just ask me about it and try to guess based on what I told you?
!findfile WinMessageWindow
FireBreathBot 21:06 Found 2 matching file(s) in the master branch. First 2 are:
taxilian 21:06 go read the source
it's really really really obvious what HWND you should use if you read the source
it's not hard at all
please don't waste my time; I don't refer you to files to read just for the sake of sounding smart, I promise
Skype 21:06 Sorry, Ah, getHWND() I will try that
taxilian 21:06 good thinking
Skype 22:06 dude a BIG Thank You, it is detecting the WM_DEVICECHANGE in IE
BTW in what instances should we be using WinMessageWindow and how is this different from FB::WindowsEvent, I mean how come WM_DEVICECHANGE does not go through FB::WindowsEvent?
dougma 22:06 maybe you were registering the wrong hwnd or at he wrong time?
but WinMessageWindow is better because now your plugin could be made windowless if you wanted
taxilian 22:06 Skype: WinMessageWindow is for when you just need an HWND for receiving messages but you aren't doing any UI
you probably could make it go through FB::WindowsEvent
it's just better this way
Feeling 22:06 so WinMessageWindow is TopWindow?
taxilian 22:06 no
it's a message window
Feeling 22:06 taxilian have you seen plugins emulator for ActiveX to XPCOM and XPCOM to ActiveX before?
taxilian 22:06 XPCOM?
Feeling 22:06 yes
taxilian 22:06 do you mean NPAPI?
Feeling 22:06 yes
taxilian 22:06 okay; XPCOM is deprecated in plugins
and has been for 5 years
and yes, there are projects for both ways
don't know how up to date
and I wouldn't use them
but they exist
Feeling 22:06 could i know that company name?
taxilian 22:06 .g npapi activex
FireBreathBot 22:06 taxilian:
taxilian 22:06 or perhaps more appropriate to your question:
.lmgt npapi activex
FireBreathBot 22:06 Let me google that for you:
Feeling 22:06 oh, thanks.
taxilian 22:06 I'm in a bit of a sarcastic mood tonight, I guess =]
Feeling 22:06 oh! see you g'night
taxilian 22:06 I'm not finding the other way around, but I have seen it before
Feeling 22:06 one of korean bank use plugins emulator. that's why asking.
Skype 22:06 Thanks, WinMessageWindow is exactly what I needed because it will be a Windowless control, this project and you guys are awesome
taxilian 23:06 Skype: You're welcome; please contribute back in whatever way you are able
Feeling 23:06 i will come again later, bye!
taxilian 23:06 wow. lots of new people today
wonder what the occasion is =]
Imran 23:06 hmm
can some ine guide me
taxilian 23:06 .ask
FireBreathBot 23:06 If you need help, just ask your question and wait for people to come back.
taxilian 23:06 don't ask to ask a quesiton; just ask it
Imran 23:06 i m getting the error while writing git clone git:// firebreath
taxilian 23:06 what error?
(brb, keep talking)
Imran 23:06 its fatal error no such host is known
its fatal error no such host is known
taxilian 23:06 sounds like a network problem
Imran 23:06 vs2008 professional
taxilian 23:06 so windows
Imran 23:06 unable to lookup
taxilian 23:06 can you ping
dougma 23:06 sometimes i get that, i try again and it works
Imran 23:06 yeah its windows
ok me trying again
trying again and pind both are'nt working
taxilian 23:06 it's a network problem, then
not something I can really help you with
your dns isn't resolving github for some reason
Imran 23:06 so now wat to do
@Taxilian r u from taxila
dougma 23:06 see your system administrator
Imran 23:06 ok