Gtkmm-forge Digest, Vol 36, Issue 6



Send Gtkmm-forge mailing list submissions to
	gtkmm-forge lists sourceforge net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/gtkmm-forge
or, via email, send a message with subject or body 'help' to
	gtkmm-forge-request lists sourceforge net

You can reach the person managing the list at
	gtkmm-forge-owner lists sourceforge net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gtkmm-forge digest..."


gtkmm-forge is the mailing list that receives gtkmm bug reports from bugzilla.  A daily digest is sent to gtkmm-main, to encourage people to help fixing the bugs. Do not try to unsubscribe gtkmm-forge from gtkmm-list.


Today's Topics:

   1. [Bug 582439] [PATCH] Fix build on maemo platform
      (gnomemm (bugzilla.gnome.org))
   2. [Bug 582439] [PATCH] Fix build on maemo platform
      (gnomemm (bugzilla.gnome.org))
   3. [Bug 452130] Gdk::Rectangle::intersect() modifies	the calling
      object (gtkmm (bugzilla.gnome.org))
   4. [Bug 582439] [PATCH] Fix build on maemo platform
      (gnomemm (bugzilla.gnome.org))
   5. [Bug 452130] Gdk::Rectangle::intersect() modifies	the calling
      object (gtkmm (bugzilla.gnome.org))
   6. [Bug 452130] Gdk::Rectangle::intersect() modifies	the calling
      object (gtkmm (bugzilla.gnome.org))
   7. [Bug 582439] [PATCH] Fix build on maemo platform
      (gnomemm (bugzilla.gnome.org))


----------------------------------------------------------------------

Message: 1
Date: Wed, 13 May 2009 17:02:09 +0000 (UTC)
From: "gnomemm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 582439] [PATCH] Fix build on maemo
	platform
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513170209 AE03423F595 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=582439

  gnomemm | gstreamermm | Ver: unspecified

Jos? Alburquerque changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jaalburqu svn gnome org




------- Comment #3 from Jos? Alburquerque  2009-05-13 17:02 UTC -------
(In reply to comment #1)
> There are some other issues on maemo platform because Nokia does not build all
> the plugins (ogg, theora, text, etc. are missing) and as such I had to edit
> configure.am and Makefile_am_fragment to be able to build gstreamermm. This is
> not part of the patch but it would probably be good if the build system would
> autodetect the available plugins somehow.

(In reply to comment #2)
> I believe that those dependencies only need to be there when generating the
> files, in maintainer-mode, when using autogen.sh. It should be able to build
> from a regular tarball without those dependencies, so they don't need to be
> detected. People will just get runtime errors when trying to instantiate those
> classes on Maemo.

I guess the examples can be modified so that the plug-ins that don't exist on
Maemo are not used.  That should fix the build.  I wonder which plug-ins can be
used as an example "audio" player.  Right now the ogg plug-ins are used. 
Ultimately, we could remove the audio player examples if necessary.

> I am surprised that your patch only patches examples. Surely some of the actual
> code uses "throw"?

Yes, there is other code that throws Glib::Exception.  I think that #ifdefs
have already been included in those cases.  Please correct me if I'm wrong.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=582439.



------------------------------

Message: 2
Date: Wed, 13 May 2009 18:53:16 +0000 (UTC)
From: "gnomemm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 582439] [PATCH] Fix build on maemo
	platform
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513185316 7457323F596 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=582439

  gnomemm | gstreamermm | Ver: unspecified




------- Comment #4 from Murray Cumming  2009-05-13 18:53 UTC -------
(In reply to comment #3)
> I guess the examples can be modified so that the plug-ins that don't exist on
> Maemo are not used.  That should fix the build.

Again, the plugins are a _runtime_ dependency. So there's no need to use
different plugins in the example just to fix the build.

> > I am surprised that your patch only patches examples. Surely some of the actual
> > code uses "throw"?
> 
> Yes, there is other code that throws Glib::Exception.  I think that #ifdefs
> have already been included in those cases.  Please correct me if I'm wrong.

Are you using -fnoexceptions?


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=582439.



------------------------------

Message: 3
Date: Wed, 13 May 2009 21:39:34 +0000 (UTC)
From: "gtkmm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 452130] Gdk::Rectangle::intersect()
	modifies	the calling object
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513213934 487E223F593 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=452130

  gtkmm | general | Ver: unspecified

Rolf Gebhardt changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rg klige de




------- Comment #3 from Rolf Gebhardt  2009-05-13 21:39 UTC -------
It does not seem a bug to me at all. It's common practice in C++ to have
non-const member functions modifying an object and returning a reference to the
modified objects. This allows you to do additional calls to similar member
functions on the same object. Think of all the operator+=, operator-= and the
like. The typical pattern for such a member function is something like:

SomeClass &SomeClass::some_method (const SomeClass &other)
{
  // modify *this depending on other
  ...
  return *this;
}

The solution provided above would not work, because it returns a reference to
the local instance "intersection" which will be destroyed when the function
returns. The caller will not be able to savely use the return value of the
function.

A function behaving the way you want it to should have a signature like:

Rectangle Rectangle::intersect(const Rectangle& src2) const

That means: It should be const, because it does not modify the object and it
has to return a newly created Rectangle by value, because there is no surviving
Rectangle which could be returned by reference.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=452130.



------------------------------

Message: 4
Date: Wed, 13 May 2009 21:45:07 +0000 (UTC)
From: "gnomemm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 582439] [PATCH] Fix build on maemo
	platform
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513214507 DC66E23F597 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=582439

  gnomemm | gstreamermm | Ver: unspecified




------- Comment #5 from Jos? Alburquerque  2009-05-13 21:45 UTC -------
(In reply to comment #4)
> (In reply to comment #3)
> > I guess the examples can be modified so that the plug-ins that don't exist on
> > Maemo are not used.  That should fix the build.
> 
> Again, the plugins are a _runtime_ dependency. So there's no need to use
> different plugins in the example just to fix the build.

Ah, that's right.  The source files for the plug-ins are included in the
tarball so building should be no problem.

> > > I am surprised that your patch only patches examples. Surely some of the actual
> > > code uses "throw"?
> > 
> > Yes, there is other code that throws Glib::Exception.  I think that #ifdefs
> > have already been included in those cases.  Please correct me if I'm wrong.
> 
> Are you using -fnoexceptions?

I don't know so I'm probably wrong.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=582439.



------------------------------

Message: 5
Date: Wed, 13 May 2009 22:06:18 +0000 (UTC)
From: "gtkmm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 452130] Gdk::Rectangle::intersect()
	modifies	the calling object
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513220618 BA40223F595 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=452130

  gtkmm | general | Ver: unspecified




------- Comment #4 from Jonathon Jongsma (jonner)  2009-05-13 22:06 UTC -------
You're correct that my example code above would not compile because I
accidentally left the return type as a reference and forgot to add const.  I
was not attempting to provide working code, i was simply trying to illustrate
an alternate API.

In addition, the point of this bug report was not really about whether the
current implementation is *wrong* (I know there are valid reasons for returning
a reference to a modified object in some situations), the point of the bug
report was about the fact that you *cannot* calculate an intersection without
modifying the calling object with the current API, and that this makes certain
things quite awkward.  If you want to calculate an intersection of two
rectangles without changing the original rectangles, you need to do manual
copies like:

Gdk::Rectangle A(...);
Gdk::Rectangle B(...);
// now I want to calculate the intersection of A and B without 
// changing either A or B, so I need to make a copy
Gdk::Rectangle C(A);
C.intersect (B); // now C is the intersection of A and B

That seems remarkably awkward for a simple use case.  In addition, there is
currently no way to calculate an intersection of two const rectangles.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=452130.



------------------------------

Message: 6
Date: Wed, 13 May 2009 22:25:15 +0000 (UTC)
From: "gtkmm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 452130] Gdk::Rectangle::intersect()
	modifies	the calling object
To: gtkmm-forge lists sourceforge net
Message-ID: <20090513222515 F32E123F593 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=452130

  gtkmm | general | Ver: unspecified




------- Comment #5 from Rolf Gebhardt  2009-05-13 22:25 UTC -------
Sorry. I missunderstood your intention. I thought you wanted to change the code
without changing the return type (I think it would compile but it would crash
at runtime).
Of course your right, that there should be a way to do an intersection without
modifying the operands.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=452130.



------------------------------

Message: 7
Date: Thu, 14 May 2009 04:32:19 +0000 (UTC)
From: "gnomemm (bugzilla.gnome.org)"
	<bugzilla-daemon bugzilla gnome org>
Subject: [gtkmm bugzilla] [Bug 582439] [PATCH] Fix build on maemo
	platform
To: gtkmm-forge lists sourceforge net
Message-ID: <20090514043219 E9C0323F598 label gnome org>
Content-Type: text/plain; charset=utf-8

If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=582439

  gnomemm | gstreamermm | Ver: unspecified




------- Comment #6 from Jos? Alburquerque  2009-05-14 04:32 UTC -------
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > Again, the plugins are a _runtime_ dependency. So there's no need to use
> > different plugins in the example just to fix the build.
> 
> Ah, that's right.  The source files for the plug-ins are included in the
> tarball so building should be no problem.

One thing I forgot, though, is that plug-ins that don't exist on the build
machine are not included in the build, so errors might come up in examples that
use a plug-in that does not exist on the build machine.

This was done in part because if a plug-in does not exist and it is included in
the build, no program would execute because when wrap_init() runs, it would
fail when it tries to initialize the missing plug-in (see the long-winded bug
#565454 : http://bugzilla.gnome.org/show_bug.cgi?id=565454).

> > > Yes, there is other code that throws Glib::Exception.  I think that #ifdefs
> > > have already been included in those cases.  Please correct me if I'm wrong.
> > 
> > Are you using -fnoexceptions?
> 
> I don't know so I'm probably wrong.

Clarification:  If this is a maemo option, I haven't had the time to try
building there yet, though I'll try later to get a sense of how building works
there and see if any errors can be fixed.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=582439.



------------------------------

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com

------------------------------

_______________________________________________
Gtkmm-forge mailing list
Gtkmm-forge lists sourceforge net
https://lists.sourceforge.net/lists/listinfo/gtkmm-forge


End of Gtkmm-forge Digest, Vol 36, Issue 6
******************************************


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]