Re: dockFill problem

2010-11-26 Thread Vassilis Virvilis

On 26/11/2010 01:51 μμ, Dan Kegel wrote:

.bill wrote:

I have the following problem in a .NET application.
A form resides in a maximized MDI window.
On startup the MDI gets maximized but the form is not although the dockFill 
property is set.


Sounds interesting.
If you're not already, please try the latest version of wine (1.3.7 or
built from git).
If the problem persists, please file a bug, and we'll give you
suggestions about debugging there.
If you can include the source and binary for a tiny program that
demonstrates the problem, that would help greatly.
- Dan



Hi,

Thanks for answering this.

I am trying from latest git (as of yesterday).

I am not sure I can do that (provide source and binary) but I will ask. As I 
said it is a .NET application.

Since I am on the clock here I was hoping for a quick advice like (i.e. dockFill
is honored in user32/win.c in the function blah blah and you can track it by 
WINEDEBUG=+magic,+dockFill)

As I have already said in earlier questions the compatibility level of wine is 
simply amazing. From a
fresh .wine prefix I can install net3.5, flash and the relevant application. 
The application loads
flash files with a component called f_in_a_box. Everything works with minor 
problems like this
and some bigger ones (transparency).

So, all in all, simply amazing.

Vassilis













dockFill problem

2010-11-25 Thread Vassilis Virvilis

Hi everybody,


I have the following problem in a .NET application. A form resides in a
maximized MDI window. On startup the MDI gets maximized but the form is not
although the dockFill property is set. Needless to say that it works on windows.

1) My question is how to debug this - What are the relevant wine debug 
channels? (+win)
2) What it should happen? Should the application get a maximization message 
that is missing?
3) Any idea / old patch I could try on wine?
4) Any workaround at the application level I could try to make the application 
run properly?

 Thanks

.bill





Re: Transparent windows (with alpha channel)

2010-11-05 Thread Vassilis Virvilis

On 04/11/2010 05:07 μμ, Roderick Colenbrander wrote:

You would require ARGB visuals. Various drivers support them these
days for desktop composition purposes. When I asked Alexandre about
them a long time ago, he said we couldn't use them in Wine. I don't
know why that was. Further even if we could use it, we would have to
recreate the window upon this call since I don't think we would want
to use ARGB by default.



Thanks for the info. I wasn't aware of the proper terms (ARGB visual) to google 
properly.

Is it possible to destroy and recreate a window under an application's nose 
without noticing during
the call to UpdateLayeredWindowIndirect() and friends?

Is there any other part of wine that is pulling such a trick (underlying window 
recreation)?

And if we do that then the next stop is bitblt in order to implement the proper 
blending behaviour. Is that correct?

May I ask about input transparency? Does X support that at all?

 .bill




Re: Transparent windows (with alpha channel)

2010-11-04 Thread Vassilis Virvilis

On 03/11/2010 12:36 πμ, Vassilis Virvilis wrote:

On 02/11/2010 02:12 πμ, Vincent Povirk wrote:

It is probably a layered window, in which case the following functions
in user32 are relevant: SetLayeredWindowAttributes,
GetLayeredWindowAttributes, UpdateLayeredWindowIndirect, and
UpdateLayeredWindow

Most of user32 is implemented based on gdi32, wineserver, and
winex11.drv. When you see USER_Driver in user32, that indicates a
function in winex11.drv. So USER_Driver->pSetLayeredWindowAttributes
is really X11DRV_SetLayeredWindowAttributes.

Wine requires a compositing window manager to implement layered
windows properly. It does not matter whether the window manager
provides any 3D effects or uses opengl.


Thank you very much for the directions. They certainly put me on the
right track.



Again thanks for the directions.

The UpdateLayeredWindowIndirect implementation of wine only utilizes a global 
per window alpha value.

After a little bit of research it looks like what I want is something called 
per-pixel alpha or per color alpha or blending with alpha channel.

Does wine and/or X-Windows support something like this and if so where?

My guess is in bitblit but any insightful comment is welcome.

   .bill




Re: Transparent windows

2010-11-02 Thread Vassilis Virvilis

On 02/11/2010 02:12 πμ, Vincent Povirk wrote:

It is probably a layered window, in which case the following functions
in user32 are relevant: SetLayeredWindowAttributes,
GetLayeredWindowAttributes, UpdateLayeredWindowIndirect, and
UpdateLayeredWindow

Most of user32 is implemented based on gdi32, wineserver, and
winex11.drv. When you see USER_Driver in user32, that indicates a
function in winex11.drv. So USER_Driver->pSetLayeredWindowAttributes
is really X11DRV_SetLayeredWindowAttributes.

Wine requires a compositing window manager to implement layered
windows properly. It does not matter whether the window manager
provides any 3D effects or uses opengl.


Thank you very much for the directions. They certainly put me on the right 
track.

WINEDEBUG=+win does the trick and shows relevant information.

My application still displays black instead of transparent.
I took the liberty and augment the trace message with the BLENDFUNCTION struct 
members
like this
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -3531,7 +3531,7 @@ BOOL WINAPI UpdateLayeredWindowIndirect( HWND hwnd, const 
UPDATELAYEREDWINDOWINF
 }

 if (info->pblend && !(info->dwFlags & ULW_OPAQUE)) alpha = 
info->pblend->SourceConstantAlpha;
-TRACE( "setting window %p alpha %u\n", hwnd, alpha );
+TRACE( "setting window %p alpha %u BlendOp %u, BlendFlags %x SourceConstantAlpha %u AlphaFormat %x 
\n", hwnd, alpha, info->pblend->BlendOp, info->pblend->BlendFlags, 
info->pblend->SourceConstantAlpha, info->pblend->AlphaFormat);
 USER_Driver->pSetLayeredWindowAttributes( hwnd, info->crKey, alpha,
   info->dwFlags & (LWA_ALPHA | 
LWA_COLORKEY) );
 return TRUE;


and I got output like this

trace:win:UpdateLayeredWindowIndirect setting window 0x10060 alpha 255 BlendOp 
0, BlendFlags 0 SourceConstantAlpha 255 AlphaFormat 1

The BLENDFUNCTION structure is documented in MSDN 
http://msdn.microsoft.com/en-us/library/dd183393%28VS.85%29.aspx
and is defined in include/wingdi.h

So from MSDN
BlendOp = 0 == AC_SRC_OVER (the only option)
BlendFlags = 0 (the only option)
SourceConstantAlpha = 255 = 0xff
AlphaFormat = 1 == AC_SRC_ALPHA (the only option)

then the documentation branches depending on
if the SourceConstantAlpha is 0xff or not,
if there is source alpha
if there is destination alpha.

Just to be sure I hardcoded another value for SourceConstantAlpha and I did get 
some kind of transparency but not the right kind :-(

Is it possible that wine's implementation has a bug in the alpha blending 
handling in some subcase?

It is late now. I will hunt it down some more tomorrow.


.bill




Transparent windows

2010-11-01 Thread Vassilis Virvilis

Hi everybody,

I am trying to run a pretty complex dotnet (3.5) app which renders flash 
contents via flash in a box http://www.f-in-box.com/

I have to say that congratulations are in order to everybody involved because 
the whole thing works remarkably well for such a complex amalgam of 
technologies and platforms.

The problem I am trying to debug right now is that transparent windows comes 
out black in wine. So the question is:
1) What are the wine debug channels I have to turn on in order to understand 
what's happening?
2) Any ideas where the code responsible might be located (gdi, user32, 
wineserver)?
2a) Is it some window creation flag responsible for this?
2b) Is it X-Window dependent? Does it require OpenGL and 3D effects 
enabled?

Thanks in advance

 .bill





Re: Wine & .NET app

2010-09-06 Thread Vassilis Virvilis

On 07/09/2010 02:53 πμ, James McKenzie wrote:

These appear to be .NET errors and it might be a good idea to look into
using Mono and see if these 'go away'. What version of .NET does the
program require?


I tried it. I didn't mention it because I didn't want to clutter my first 
message.
The application dies a similar death with gif and jpeg warnings and finally
a color conversion error



winetricks supports installation of Mono 2.x and is, for now, the best
way to get the product installed. Yes, we are looking into including it
into the Wine package or as an add-on (like the Gecko engine.)

Mono supports 1.1, 2.0 and 3.0 very well and 3.5 somewhat (and maybe
better than that.) .NET 3.5 will not install, due to .dll dependencies,
on Wine as it stands today.



winetricks managed to install dotnet 3


   Vassilis




Re: Wine & .NET app

2010-09-06 Thread Vassilis Virvilis

On 07/09/2010 02:02 πμ, Reece Dunn wrote:


Googling the error indicates that it is coming from libjpeg:

JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request")


thanks.



You probably want the windowscodecs trace output to see where it is failing.


2) JpegDecoder_Frame_GetResolution doesn't look terribly difficult to 
implement. Am I completely misguided?


Looking at the parameter names they indicate that the resolutions are
in dots per inch (DPI), so that may complicate things a bit. As
always, this will need test coverage.


3) URL_ParseUrl lives in in dlls/shwapi/url.c around 1979. The implementation 
looks fleshed enough. What is the problem?


URL_ParseUrl is being passed a URL like "System.Xml" -- the function
is not handling this as a valid URL.

Here, tests will be needed to see how Windows behaves and the wine
implementation should then be improved to cover that/those cases.


4) The GUID are referring to IManaged, IProvideClassInfo, IMarshal, 
IRpcOptions. What is the implementation scope of these?


Looking at the fixme's -- fixme:ole:OLEPictureImpl_QueryInterface ()
-- those interfaces are being requested for and not found in the
OLEPicture implementation.

NOTE: A test case will need to be added for each of these to check if
Windows actually implements those interfaces for the OLEPicture
object.

Something along the lines of:

 IUnknown *picture = ...; /* OLEPicture object from existing tests. */
 IManaged * managed = NULL;
 HRESULT hr;
 int refcount;

 hr = picture->QueryInterface(&IID_IManaged, (void **)&managed);
 ok(hr == S_OK, "OLEPicture should support IManaged: expected S_OK,
got 0x%08x\n", hr);

 IUnknown_AddRef(picture);
 refcount = IUnknown_Release(picture);
 ok(refcount == 2, "Expected there to be 2 references to
OLEPicture, got %d\n", refcount);

 text_picture_managed(managed); /* test IManaged methods */

 IUnknown_Release(managed);


Here is the log:
fixme:actctx:parse_manifest_buffer root element is L"asmv1:assembly", 
not


Manifest parsing should support xmlns:name="..." qualifiers for
elements as well as xmlns="..." qualifiers. This will need tests.



Also thanks for the code dump. I will try to add that code as an OLE test and 
see what happens.
I am a wine and git newbie so that may take while.

One more question: Based on your experience what do you think is the first 
thing look after in
order to move my application forward. I would say the color conversion problem 
and or the
jpegDecoder_Frame_GetResolution...


Vassilis




Wine & .NET app

2010-09-06 Thread Vassilis Virvilis

Hi everybody,

My name is Vassilis Virvilis and I am trying to get .net app to run under wine.
The objective of the questions below is to determine what needs to be
implemented in wine in order to support the app.

So the app bring its window momentarily and then it crashes with a 'Unsupported 
color conversion request'

How difficult to implement are the following error messages?

1) Where is the code that prints 'Unsupported color conversion request'. I 
can't find it

2) JpegDecoder_Frame_GetResolution doesn't look terribly difficult to 
implement. Am I completely misguided?

3) URL_ParseUrl lives in in dlls/shwapi/url.c around 1979. The implementation 
looks fleshed enough. What is the problem?

4) The GUID are referring to IManaged, IProvideClassInfo, IMarshal, 
IRpcOptions. What is the implementation scope of these?

Here is the log:
fixme:actctx:parse_manifest_buffer root element is L"asmv1:assembly", not 

fixme:sync:CreateMemoryResourceNotification (0) stub
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.VisualBasic"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"System.Runtime.Remoting"
fixme:shell:URL_ParseUrl failed to parse L"System.Configuration"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"
fixme:shell:URL_ParseUrl failed to parse L"mscorlib.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing.resources"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing.resources"
fixme:gdiplus:GdipGetFamilyName No support for handling of multiple languages!
fixme:shell:URL_ParseUrl failed to parse L"LMA.resources"
fixme:shell:URL_ParseUrl failed to parse L"LMA.resources"
fixme:shell:URL_ParseUrl failed to parse L"LMA.resources"
fixme:gdiplus:GdipCreateHalftonePalette stub
fixme:shell:URL_ParseUrl failed to parse L"System.Xml.XmlSerializers"
fixme:shell:URL_ParseUrl failed to parse L"LMA.resources"
fixme:wincodecs:JpegDecoder_Frame_GetResolution (0x16d2dc,0x32dd48,0x32dd40): 
stub
fixme:shell:URL_ParseUrl failed to parse L"LMA.resources"
fixme:ole:OLEPictureImpl_QueryInterface () : asking for un supported interface 
{c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4}
fixme:ole:OLEPictureImpl_QueryInterface () : asking for un supported interface 
{b196b283-bab4-101a-b69c-00aa00341d07}
fixme:ole:OLEPictureImpl_QueryInterface () : asking for un supported interface 
{0003---c000-0046}
fixme:ole:OLEPictureImpl_QueryInterface () : asking for un supported interface 
{0144---c000-0046}
fixme:wincodecs:JpegDecoder_Frame_GetResolution (0x1a9924,0x32de38,0x32de30): 
stub
Unsupported color conversion request

Thanks in advance

  Vassilis Virvilis





Re: Looking for programmator to complete Direct3D 9.0c with GLSL in the Wine

2006-11-22 Thread Vassilis Virvilis

Mirek wrote:
Hi, I am not so good at programming in C, but I would like to be 
perfectly working in Direct3D 9.0c in the Wine. I dont know how much 
work is on  so  if  someone cold told me how far is the complementation 
of the  Direct3D 9.0c support in the Wine?


Here is the offer for everyone:

The aim is to prepare all apps below working under the Windows on Nvidia 
GF 6XXX series, with at least 50% of speed in WinXP. There is not needed 
sound after merging those patches in cvs main head. I offer 1 000 Euro 
or 1 200 dollars for this work.


3DMark 2003
3DMark 2005
3DMark 2006
CoD 2
NFS MW
NFS Carbon
ES IV Oblivion

Please, contact me or send this to another person you would think could 
do it.


Mirek Slugen
Czech Republic





There are some companies that are specialized into
these kind of collective payements. I haven't used any
so I can't comment about the quality of their
services.

Some links...

http://www.rentacoder.com/RentACoder/default.asp
http://fundable.org/

I am sure there are more...


  .bill





Re: Copy protection

2006-10-05 Thread Vassilis Virvilis

Mike McCormack wrote:


Tim Schmidt wrote:


It sounds like a general framework for routing these kind of raw disk
i/o would be useful...  probably configurable by app would be most
useful.



UML has a COW (copy-on-write) layer [1].  If we had something like this, 
conceivable we could allow Wine to read raw disks (or the COW file), 
then write back to the COW file.


It would be even nicer if the Linux kernel supported that in a general 
way...


Mike


[1] http://user-mode-linux.sourceforge.net/UserModeLinux-HOWTO-7.html





How about a loopback device in linux?

   .bill





Re: Valgrind warning cleanup...

2006-05-14 Thread Vassilis Virvilis

Dan Kegel wrote:

On 5/13/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


I know this kind of errors from working on GNU Parted with Valgrind, and
my policy is to leave the code alone when I can't spot why it should be
wrong.

  I strongly advise against doing otherwise.



I'll buy that.  That's why I sent the note to wine-devel instead
of wine-patches.

There's another valgrind warning that is much more understandable,
and I'm sending an obvious fix for it to wine-patches.
(My first patch missed one instance, so I'm resending.)
I'd appreciate it if you could check that one, too.
- Dan



For errors like these valgrind has a feature that records them (the errors) and
allows you to put them somewhere so they get excluded from future runs. I have
never done it though so I don't know if the feature works as advertised but for
sure I have been tempted enough by the various ld/dlopen issues to start me
reading the man page.

  .bill




Re: WSH, WMI scripts

2006-03-03 Thread Vassilis Virvilis

Sreenivas Tatti wrote:

Hi Mike,
You could have understood my requirement. I am looking at WINE to get
this thing done. If not supported in WINE, then what other possible way,
I can achieve this. I have to do some windows registry modifications and
start/stop/query about windows services from a Linux box.
I have to remotely install my agent on a windows box. That is my goal.
Thanks in anticipation.
With regards,
Sreenivas



It is absolutely unrelated to wine and completely off topic but since you
asked why don't you install cygwin to the remote machines and do the
staff you want to do with ssh and some local scripting. I mean if
you can do it from a dos prompt, ok a cmd prompt, then you have to be
able to do it with a ssh connection remotely and in a secure manner too.

http://pigtail.net/LRP/printsrv/cygwin-sshd.html

   .bill




Re: Software patents

2005-05-12 Thread Vassilis Virvilis
gslink wrote:
 Borland probably doesn't even 
realize that Wine exists although some of the people in Borland are 
probably very familiar with it.  I think you will find this to be true 
of all big software companies such as IBM and Microsoft.


IRC borland had a delphi for linux named kylix which if I remember 
correctly used wine. They had 2 sets of widgets, native and qt classes 
to ease development and porting. Here is the article. It also mentions 
codeweavers... Really old news.

http://open.itworld.com/4907/IW010305tckylix/page_1.html
So it's not possible that they have never heard about wine before...
   .Bill