[Bug 20296] League of Legends: crash after eula

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Apr 5 23:25:23 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=20296

--- Comment #41 from oiaohm <oiaohm at gmail.com> 2011-04-05 23:25:18 CDT ---
(In reply to comment #40)
> (In reply to comment #39)
> > Sorry, that's even worse.   The objection is that the patch
> > is a kludge, whether or not it includes duplicated code.
> 
> I agree, I understand this patch will never be accepted as-is, just trying to
> gain a little momentum. Can anyone give directions for a cleaner approach?
> Christoph seems to suggest that a "surrogate server" (not sure what it is) is
> needed, but ends his comment with "So may not be needed on wine and the DLL can
> just be loaded in-process." so I'm not sure what he really meant.
> 
> There's good will here, I just need better feedback :/

First thing is understanding how CLSCTX_INPROC_SERVER and CLSCTX_LOCAL_SERVER
are different.  So that you have the patch heading down the right line to
implement CLSCTX_LOCAL_SERVER.

http://msdn.microsoft.com/en-us/library/ms693716%28v=vs.85%29.aspx  Very
important read on the subject.

Same process space as the caller is INPROC SERVER .  Own process is LOCAL
SERVER.  Also as a own process is shared between all callers.  This is why
applications will snap if you just redirect LOCAL to INPROC.  The reverse would
have stood a kind of a chance but also would cause random breakages.

This is why I said you might have to duplicate sections of the INPROC code base
into a new Local Server code base.

The pure difference between the two is why I said "Dr. Egon Spengler: Don't
cross the streams.".  

I guess never you watched ghost busters.
    Dr. Egon Spengler: Don't cross the streams.
    Dr. Peter Venkman: Why?
    Dr. Egon Spengler: It would be bad.
    Dr. Peter Venkman: I'm a little fuzzy on the whole "good/bad" thing, here.
What do you mean, "bad"?
    Dr. Egon Spengler: Try to imagine all life as you know it stopping
instantaneously and every molecule in your body exploding at the speed of
light.

Anyone who watches the full movie at the end they do cross the streams and live
but is a rare case event that you will live through it.  Currently you are in
that lucky location.

Basically you are doing something so far on the scale of bad really don't want
to be doing that.  Crossing INPROC functionally with LOCAL is crossing the
streams.  

INPROC and LOCAL are basically two different code paths.   Local requires
creating a new process and other things so it works right.  Sections of Inproc
operations maybe recyclable.

For a patch to be accepted that is kinda a hack.  It will have to show a plan
to get from the kind of a hack to correctly functional or at least it will not
hinder getting to correct functionality.

Basically if I am quoting ghost busters to you have got something critically
wrong.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list